如何强制GlassFish 2在启动时加载EJB?

| 我们正在GlassFish v2上使用EJB3。 我的应用程序包括一个名为StartupServlet的GenericServlet,它具有一个init方法。从此方法启动的java.util.TimerTask轮询器无法从InitialContext查找外观。 但是,如果我发出HTTP请求并进行查找,则它将成功。因此,我现在有一个解决方法,其中我的轮询器启动代码将与页面建立HTTP连接,以查找所需的接口。 如何重新排列我的应用程序,这样我就不需要使用这种技巧了?如果可能,该解决方案也需要在GFv3上运行。 在此先感谢您的帮助!     
已邀请:
        在GF 2上,我有一个servlet,可以在启动时确保创建我的计时器。这将查找一个远程会话bean,并从init()中成功调用它(不是实际的代码,而是精炼到重要部分):
@EJB(name=\"TimerSessionRef\", beanInterface=TimerSessionRemote.class)
public class StartTimers extends HttpServlet {

@Override
public void init() throws ServletException {
super.init();
try {
    Context ctx = new InitialContext();
    TimerSessionRemote timerSession = (TimerSessionRemote) ctx.lookup(\"java:comp/env/TimerSessionRef\");
    timerSession.createTimer();
} catch (NamingException ex) {
    logger.blah();
}
    

要回复问题请先登录注册