jfinal2.2 使用cron4j遇到的一个诡异的问题

使用jfinal2.2 集成cron4j plugin;

在项目中增加task.properties:

cron4j=updateRefund

#updateRefund 

updateRefund.cron=* * * * *

updateRefund.class=com.jfinal.plugin.cron4j.UpdateRefundTask

updateRefund.enable=true

引入Cron4jPlugin.java ITask.java

自己建立UpdateRefundTask,实现ITask接口,实现run函数

public void run() {

        System.out.println("任务执行开始");

        System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));

        RefundService.updateRefund();

        System.out.println("任务执行结束");

    }

诡异的地方:在本地执行任务正常,每分钟执行一次;部署到服务器上之后,根据sysout看到每分钟run被调用了三次!!!,不知道这个是什么问题?求助

任务执行开始

2017-12-21 11:55:00

任务执行开始

2017-12-21 11:55:00

任务执行开始

2017-12-21 11:55:00

任务执行结束

任务执行结束

任务执行结束


评论区

JFinal

2017-12-21 12:26

如果是用的 tomcat 部署,注意一下 tomcat 的这个坑:
https://my.oschina.net/jfinal/blog/353062

Shydow

2017-12-21 13:47

果然是这个问题,把项目放在一个其他的目录下可以了,非常感谢

JFinal

2017-12-21 14:10

@Shydow tomcat 还有别的坑,多多注意

JJfinal

2017-12-23 23:37

哈哈,我运气好,我也用了定时器,但是项目没有放在webapps里面

热门反馈

扫码入社