我在用户登录后需要记录一下登录日志,安装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后面是自已的包名才行
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。