我需要做一个web系统,其中有一个定时任务始终不的断收集数据并写入数据库。
web提供界面根据条件筛选查看这些数据。
以前在C#上做都是将这个定时任务写成Windows Service.
最近在安装Sonatype nexus和Hudson系统时,发现他们也是有一个后台任务不断
的在转。但是并没有windows service.
可能需要一个timer,可是timer在什么地方启动呢?
请问这样的功能是怎么做的呢?
16 个解决方案
#1
简单的话,而且不是集群化的部署,可以直接用TimerTask来搞。启动的时机就定义个Listener,在那里启动就可以了。如果需要集群,还是quartz省事一些。
#2
#3
若是spring直接用quterz名字忘了
若不是第一先写一个监听器项目启动的时候执行你的类(继承timetask)
若不是第一先写一个监听器项目启动的时候执行你的类(继承timetask)
#4
我觉得如果用过的是spring框架的话,就用spring的定时器quartz,配置调用的方法完事,配置文件里也可以配置定时器发生的时间规律
#5
如果不用spring的功能,那就得timer实现。
我最想问的是在哪儿启动timer。Listener么?
有没有可能发生异常导致timer停止了呢?
怎么判断timer是否停止了呢?在哪里判断?Listener么?
#6
不管用timertask,还是quartz都好用,而且这个不会停止的,就算有异常也不会停。
用spring的话,它的数据库事务管理别用,如果发生对同一个表的读写并发,很容易导致数据源死锁。
用spring的话,它的数据库事务管理别用,如果发生对同一个表的读写并发,很容易导致数据源死锁。
#7
程序有异常也不会停止么?这么厉害?
quartz好像不用编写启动的代码,配置就可以了。
timertask得需要启动代码,写在哪里呢?Listener么?那个Listener最合适呢?
#8
Listener最合适,早期使用load-on-startup的servlet,不过现在基本上不怎么用了。
#9
如果你是servlet 3.0的,推荐使用注解吧@ServletListener,低版本的还是用web.xml配置
#10
BAIDU JAVA定时插件,有个叫JQUERY的好像
#11
quartz
#12
http://www.oschina.net/question/8676_9032
Spring+Quartz实现定时任务的配置方法
Spring+Quartz实现定时任务的配置方法
#13
#14
#15
你哪里需要它,在哪里启动
#16
1L说的对。
#1
简单的话,而且不是集群化的部署,可以直接用TimerTask来搞。启动的时机就定义个Listener,在那里启动就可以了。如果需要集群,还是quartz省事一些。
#2
#3
若是spring直接用quterz名字忘了
若不是第一先写一个监听器项目启动的时候执行你的类(继承timetask)
若不是第一先写一个监听器项目启动的时候执行你的类(继承timetask)
#4
我觉得如果用过的是spring框架的话,就用spring的定时器quartz,配置调用的方法完事,配置文件里也可以配置定时器发生的时间规律
#5
如果不用spring的功能,那就得timer实现。
我最想问的是在哪儿启动timer。Listener么?
有没有可能发生异常导致timer停止了呢?
怎么判断timer是否停止了呢?在哪里判断?Listener么?
#6
不管用timertask,还是quartz都好用,而且这个不会停止的,就算有异常也不会停。
用spring的话,它的数据库事务管理别用,如果发生对同一个表的读写并发,很容易导致数据源死锁。
用spring的话,它的数据库事务管理别用,如果发生对同一个表的读写并发,很容易导致数据源死锁。
#7
程序有异常也不会停止么?这么厉害?
quartz好像不用编写启动的代码,配置就可以了。
timertask得需要启动代码,写在哪里呢?Listener么?那个Listener最合适呢?
#8
Listener最合适,早期使用load-on-startup的servlet,不过现在基本上不怎么用了。
#9
如果你是servlet 3.0的,推荐使用注解吧@ServletListener,低版本的还是用web.xml配置
#10
BAIDU JAVA定时插件,有个叫JQUERY的好像
#11
quartz
#12
http://www.oschina.net/question/8676_9032
Spring+Quartz实现定时任务的配置方法
Spring+Quartz实现定时任务的配置方法
#13
#14
#15
你哪里需要它,在哪里启动
#16
1L说的对。