我正在尝试在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的任何建议。
答案 0 :(得分:0)
Oracle支持已经确认,由于服务器状态,这是不可能的。
事实证明我的方法是错误的,我不需要在每次启动时创建一个TimerService,只需一次,然后再使用它来控制定时器。