【问题标题】:Java EE 7 Automatic Timer (EJB Timer) not working for WildFly 8.1.0Java EE 7 自动计时器(EJB 计时器)不适用于 WildFly 8.1.0
【发布时间】:2014-08-03 09:11:02
【问题描述】:

我正在按照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。

【问题讨论】:

    标签: java jakarta-ee timer ejb wildfly


    【解决方案1】:

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

    小时和分钟的默认值为“0”,这可能会很烦人,并且会有效地强制您设置这些值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      相关资源
      最近更新 更多