JBoss 6:计时器在应用程序未完全部署时启动

时间:2013-01-14 08:33:53

标签: dependency-injection timer ejb-3.0 jboss6.x

我在 JBoss 6 的部署时遇到问题。 我的应用程序包含一个无状态EJB ,其中一个方法标有@Schedule(hour="1")注释。这种方法使用另一个由@EJB注释注入的无状态EJB。

@Stateless
public class AuditRecordCleanerBean implements AuditRecordCleanerLocal
{
@EJB
private RecordManager recordManager;

@Schedule(hour="1")
public void moveRecordsToHistoricTable()
{
recordManager.moveRecords();
...
}
}

因为计时器在JBoss中是持久的,所以当我重新启动应用程序服务器时,有时会发生计时器在EJB RecordManager尚未部署时触发而导致NameNotFoundException。

在server.log中,我发现了以下警告:

WARN  [org.jboss.ejb3.TimerServiceContainer] (Thread-2) EJBTHREE-2193: using deprecated TimerServiceFactory for restoring timers

可能是这个问题吗? 如何在完全部署应用程序后延迟第一个定时器执行?

祝你好运, 法比奥

0 个答案:

没有答案