[英]NullPointerException when deploying to JBoss with @Schedule
我正在使用 wildfly maven 插件将我的 Java 应用程序部署到本地 jboss 服务器。
我创建了一个带有@Schedule
注释的 class,如下所示:
@Startup
@Singleton
@Slf4j
public class ClassName {
@Schedule(hour = "*", minute = "*", second = "*/20", persistent = false)
public void method() {
// Code
log.info("some log");
}
}
现在,部署时出现以下错误:
错误 [org.jboss.as.ejb3.timer](EJB 默认值 - 1)WFLYEJB0020:为计时器调用超时时出错:[id=879a76e7-b06d-458c-a722-70d8f1d40bc2 timedObjectId=xx-yy-server1.x-yy-server-1 xx-yy-server-1.0-SNAPSHOT.ClassName auto-timer?:true persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@42cdd9a initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Tue 2019 年 10 月 15 日 17:21:00 CEST timerState=IN_TIMEOUT info=null]: javax.ejb.EJBException: java.lang.NullPointerException
有谁知道是什么原因造成的? 我对在 Java 中进行调度比较陌生,所以这可能很愚蠢,但我在网上找不到任何东西。
谢谢!
Hello
,因为这个 Stackoverflow 问题提到了所有超时限制都适用,并且当您有多个将被安排的计时器时,建议使用@Stateless EJB
而不是@Singleton
。
@Startup annotation
是通知 EJB 容器在启动时初始化 bean,你可能会误用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.