Spring的事件监听可以运用到系统的异常事件监听上。
java代码:
运行结果:
2011-08-23 15:19:11 org.springframework.context.support.FileSystemXmlApplicationContext
com.spring.test.listener.ActionEvent[source=hello]
java代码:
package com.spring.test.listener;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class LoginAction implements ApplicationContextAware{
private ApplicationContext ac;
public void setApplicationContext(ApplicationContext arg0)
throws BeansException {
this.ac = arg0;
}
public int login(String username,String password){
ActionEvent ae = new ActionEvent(username);
this.ac.publishEvent(ae);
return 0;
}
}
package com.spring.test.listener;
import org.springframework.context.ApplicationEvent;
public class ActionEvent extends ApplicationEvent {
public ActionEvent(Object par){
super(par);
}
}
package com.spring.test.listener;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
public class ActionListener implements ApplicationListener {
public void onApplicationEvent(ApplicationEvent arg0) {
// TODO Auto-generated method stub
if(arg0 instanceof ActionEvent){
System.out.println(arg0.toString());
}
}
}
package com.spring.test.listener;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new FileSystemXmlApplicationContext("/src/applicationContext.xml");
LoginAction action = (LoginAction)ac.getBean("loginaction");
action.login("hello", "1234556");
}
}
运行结果:
2011-08-23 15:19:11 org.springframework.context.support.FileSystemXmlApplicationContext
com.spring.test.listener.ActionEvent[source=hello]