[英]Application Server and Spring context loading
WebSphere Application Server 在其文檔之一中有以下注釋。 我在耳朵級別有應用程序上下文,並使用ClassPathXmlApplicationContext
,它是AbstractApplicationContext
的子類。 但是不推薦這樣做。 我有哪些選擇? 我可以在耳朵層面利用哪些生命周期鈎子? 此外,請包括任何問題或經驗教訓。
以下場景是需要避免的 Spring Framework 場景示例:
注冊關閉鈎子
避免使用 Spring Framework AbstractApplicationContext 類及其子類。 這些類包括公共方法 registerShutdownHook,它創建一個線程並將其注冊到 Java 虛擬機 (JVM) 以在關閉時運行以關閉應用程序上下文。 作為替代方案,應用程序可以使用它從應用程序服務器容器接收到的生命周期通知來顯式調用應用程序上下文中的 close 方法。
我將使用Singleton Session Bean (在 WebSphere 8+ 的情況下)或Startup Beans (對於較舊的 Websphere 版本),如相關問題中所述。
對於Singleton Session Beans
您可以創建一個用@PreDestroy
注釋的方法,該方法將關閉AbstractApplicationContext 。
對於Startup Beans
您可以在stop()
方法中執行相同操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.