如何连接我的web.xml以每隔n秒发生一次任务。此外,我需要通过方法调用每5秒刷新一次服务器方法。
非常感谢提前
解决:
http://javaprogrammingtips4u.blogspot.com/2010/05/how-to-implement-task-scheduler-job.html
答案 0 :(得分:15)
您可以使用
注释所需的例程public class Foo {
@Scheduled(fixedDelay=5000)
public void Bar() {
// ...
}
}
但是为了让Spring找到并识别注释,你必须声明类Foo
所在的基础包,以及配置Spring来查找调度任务。将以下内容放在spring XML配置中(不要忘记导入XML命名空间context
和task
)。
<context:component-scan base-package="com.company.scheduling"/>
<task:annotation-driven />
或者,您可以在类声明之前放置@EnableScheduling,它会为您提供开箱即用的XML配置。
答案 1 :(得分:3)
您可以使用Quartz调度程序集成,如下所示: http://static.springsource.org/spring/docs/2.0.8/reference/scheduling.html
我不理解有关刷新服务器方法的第二部分问题。
答案 2 :(得分:2)
如何使用石英弹簧。这可以通过拆分作业,触发器和计时器来高度配置。您还可以使用cron表达式并集成JMX:
等内容答案 3 :(得分:2)
查看Spring手册第25节Task Execution and Scheduling。当我完成这种事情时,我使用了注释,在section 25.5中描述。简而言之,在Spring管理的bean中,您使用@Scheduled
注释要运行的方法,并在applicationContext.xml中添加几行。
答案 4 :(得分:0)
此表达式将在工作日内每5秒运行一次:
@Scheduled(cron = "*/5 * * * * MON-FRI")
public void updateAllStatements() {
...........
}
使用此方法检查cron表达式:
/**
* Checks provided Cron expression
*
* @param cronExpression
*/
public static void checkCronExpression(final String cronExpression) {
try {
Date now = new Date();
System.out.println(now);
final CronSequenceGenerator gen = new CronSequenceGenerator(cronExpression);
for (int i = 0; i < 5; i++) {
now = gen.next(now);
System.out.println(now);
}
} catch (final Exception e) {
e.printStackTrace();
}
}