我在用户登录后需要记录一下登录日志,安装JFinal-event的文档分别写好了LoginLogEvent及LoginLogListener类,但是在系统启动的时候,控制台会显示Listener is empty! Please check it!,然后事件并没有执行。
报错信息:
六月 06, 2016 1:26:10 下午 net.dreamlu.utils.ClassUtil warn 警告: Listener is empty! Please check it! 六月 06, 2016 1:26:10 下午 net.dreamlu.utils.ClassUtil warn 警告: Listener is empty! Please check @Listener is right?
//添加事件触发插件
EventPlugin eventPlugin = new EventPlugin();
//开启全局异步
eventPlugin.async();
//设置扫描jar包
eventPlugin.scanJar();
//设置监听器默认包
eventPlugin.scanPackage("com.apos");
me.add(eventPlugin);
代码如下:
@Listener(order=1,enableAsync=true)
public class LoginLogListener implements ApplicationListener<LoginLogEvent> {
@Override
public void onApplicationEvent(LoginLogEvent event) {
// TODO Auto-generated method stub
UserInfo user=(UserInfo) event.getSource();
UserLoginLog loginLog = new UserLoginLog();
loginLog.setUid(user.getUid());
loginLog.setStoreCode(user.getStoreCode());
loginLog.set("loginDateTime", DateTools.getNowDateTime());
loginLog.save();
System.out.println(Thread.currentThread().getName()+"\tsource:"+event.getSource());
}
}
public class LoginLogEvent extends ApplicationEvent {
public LoginLogEvent(Object source) {
super(source);
// TODO Auto-generated constructor stub
}
/**
*
*/
private static final long serialVersionUID = 1282453213041286427L;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
<atarget="_blank"rel="nofollow">http://git.oschina.net/596392912/JFinal-event/issues/4来这里面写清楚你得情况。从目前的描述来看,看不出问题。我就是按照这个说明做的,开发环境是eclipse+maven+jetty我也是遇到Listenerisempty!那个ApplicationListener需要实例化吗?我的包名确认没有问题,配置也是按照官方的教程上写的,但是就是不能正确执行scanPackage后面是自已的包名才行