我正在关注Using the Timer Service教程以构建简单的计划执行。尝试使用自动方法并使用WildFly 8.1.0 Final。
会话Bean
@Singleton
@Startup
public class HelloJob {
private static final Logger logger = Logger.getLogger(HelloJob.class);
public HelloJob() {
logger.error(">>> Hello Job Created.");
}
@Schedule(second="*")
public void sayHello() {
logger.error(">>> Server Hello!");
}
}
在部署时,正确实例化了类,打印>>> Hello Job Created.
消息,但永远不会调用方法sayHello()
。
根据教程,@Schedule(second="*")
表示它应该每秒执行一次。
将属性设置为星号(*)表示全部 属性的允许值。
同样只有状态会话bean不允许用于计时器,我使用的是单例,也在示例中使用。
企业bean容器的计时器服务使您可以 为除所有类型的企业bean安排定时通知 有状态会话bean。
答案 0 :(得分:10)
使用@Schedule(second="*", minute="*", hour="*")
。
小时和分钟的默认值为“0”,这可能会非常恼人,并且会强制您设置这些值。