2

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

以下场景是要避免的 Spring Framework 场景示例:

registerShutdownHook

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

4

1 回答 1

3

我会使用Singleton Session Bean(在 WebSphere 8+ 的情况下)或Startup Beans(对于较旧的 Websphere 版本),如相关问题中所述。

因为Singleton Session Beans您可以创建一个带有注释的方法,该方法@PreDestroy关闭AbstractApplicationContext

因为Startup Beans你可以在stop()方法中做同样的事情。

于 2012-11-21T22:04:44.250 回答