Java EE 7自动定时器(EJB定时器)不工作的WildFly 8.1.0



我遵循使用定时器服务教程来构建一个简单的计划执行。尝试自动方法并使用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。

使用@Schedule(second="*", minute="*", hour="*")

小时和分钟的默认值是"0",这可能非常令人恼火,并有效地迫使您设置这些

最新更新