使用WebLogic上的应用程序启动TimerService

时间:2012-11-26 12:36:27

标签: weblogic ejb-3.0

我正在尝试在WebLogic 10.3.5上启动应用程序时启动EJB TimerService计时器

Timer是一个EJB。我尝试使用ServletContextListener和ApplicationLifecycleListener。

使用ServletContextListener导致:

Caused By: java.lang.NullPointerException
at weblogic.ejb.container.timer.ClusteredEJBTimerManager.createTimer(ClusteredEJBTimerManager.java:76)
at weblogic.ejb.container.timer.ClusteredEJBTimerManager.createTimer(ClusteredEJBTimerManager.java:95)

使用ApplicationLifecycleListener时,我甚至无法查找EJB。但是,如果我只是将它实例化为POJO,我会得到一个NPE:

java.lang.NullPointerException
at com.oracle.eas.announcements.deliveryengine.ejb.RecipientsPopulationTimerBean.createTimer(RecipientsPopulationTimerBean.java:77)
at com.oracle.eas.announcements.deliveryengine.listeners.AppStartStopListener.postStart(AppStartStopListener.java:48)

非常感谢有关如何创建使用WebLogic 10.3.5上的应用程序创建/删除的Timer的任何建议。

1 个答案:

答案 0 :(得分:0)

Oracle支持已经确认,由于服务器状态,这是不可能的。

事实证明我的方法是错误的,我不需要在每次启动时创建一个TimerService,只需一次,然后再使用它来控制定时器。