是否可以使用Payara Micro提供持久的EJB计时器服务?
我想在集群中有两个或更多的应用程序实例。应用中存在计划任务(@Schedule)。我不喜欢所有实例都运行计时器,只有一个实例应该运行它,但只有一个。
在@Schedule中使用persistent=true应该可以工作,例如:
@Schedule(second = "*/5", minute = "*", hour = "*", persistent=true)
但是…在部署时,我收到消息:
javax.ejb.CreateException: Persistent timers are not supported in this setup
如果我部署persistent=false,它工作,但所有集群实例执行计时器:
@Schedule(second = "*/5", minute = "*", hour = "*", persistent=false)
这是否意味着我应该使用完全支持JEE的完整Payara (Glassfish),或者有另一种方法在Payara Micro中启用它?我想坚持简单的标准解决方案,没有自定义代码和第3库。
对于测试,我使用以下命令运行实例:java -jar payara-micro-4.1.1.162.jar --autoBindHttp --deploy my.war
提前感谢
由Hazelcast支持的持久EJB计时器将随Payara Micro 163一起发布,预计很快就会发布!