Glassfish 3:在ServletContextListener.contextDestroyed方法中对ejb调用方法导致异常

Glassfish 3:在ServletContextListener.contextDestroyed方法中对ejb调用方法导致异常,glassfish,ejb,java-ee-6,servletcontextlistener,Glassfish,Ejb,Java Ee 6,Servletcontextlistener,我有一个@Singleton ejb,它将在ServletContextListener contextInitialized和contextDestroyed方法中调用。contextDestroyed方法中的调用导致异常: javax.ejb.EJBException:当容器处于停止状态时尝试调用 看起来好像在容器崩溃后调用了contextDestroyed方法 我没有机会访问像ejb这样的资源。 有人知道在容器关闭之前是否有方法知道应用程序关闭吗 什么事 提前准备好。 干杯,Sven您可以

我有一个@Singleton ejb,它将在ServletContextListener contextInitialized和contextDestroyed方法中调用。contextDestroyed方法中的调用导致异常:

javax.ejb.EJBException:当容器处于停止状态时尝试调用

看起来好像在容器崩溃后调用了contextDestroyed方法 我没有机会访问像ejb这样的资源。 有人知道在容器关闭之前是否有方法知道应用程序关闭吗 什么事

提前准备好。
干杯,Sven

您可以直接在
@Singleton
bean中的方法上使用
@PreDestroy
注释。因此,在应用程序关闭期间,将在bean销毁之前调用该方法