Application Server和Spring上下文加载

时间:2012-11-21 14:52:02

标签: java spring java-ee websphere

WebSphere Application Server在其文档之一中具有以下注释。我在耳朵级别有应用程序上下文,并使用ClassPathXmlApplicationContext,它是AbstractApplicationContext的子类。但不建议这样做。我有什么选择?我可以在耳朵级别使用什么生命周期钩子?此外,请包括任何陷阱或经验教训。

  

以下方案是Spring Framework方案的示例   避免:

     

registerShutdownHook

     

避免使用Spring Framework AbstractApplicationContext类和   它的子类。这些类包括公共方法   registerShutdownHook,它创建一个线程并将其注册到   Java虚拟机(JVM)在关闭时运行以关闭应用程序   上下文。作为替代方案,应用程序可以使用生命周期   它从应用程序服务器容器接收到的通知   关于应用程序上下文的close方法。

1 个答案:

答案 0 :(得分:3)

我会使用Singleton Session Bean(对于WebSphere 8+)或Startup Beans(对于较旧的Websphere版本),如related problem中所述。

对于Singleton Session Beans,您可以创建一个使用@PreDestroy注释的方法close AbstractApplicationContext

对于Startup Beans,您可以在stop()方法中执行相同操作。