![](/img/trans.png)
[英]How to re-initialize beans in spring without application server restart
[英]Spring Beans survive application restart?
我這里有一個非常奇怪的問題。 我有一個用Spring 3.0.5-Release
和Java 6.0
編寫的桌面應用程序。 我也在使用Swing作為用戶界面。
在啟動時,應用程序讀取application-context.xml
文件並從那里實例化配置bean,如下所示:
<bean id="config" class="my.blabla.Configuration">
<property name="port" value="5555"></property>
<property name="user" value="myUser"></property>
</bean>
在我的應用程序中,我正在使用此Configuration bean中的屬性。
問題現在如下:
我將應用程序打包到一個jar文件中並將其部署在一台機器上。 我按照以下步驟操作:
application-context.xml
我將屬性user更改為userA 。 我關閉了應用程序 。
在application-context.xml
我將屬性user更改為userB 。
更多信息。 調試應用程序時不會發生這種情況。 它僅在從命令行打包和執行應用程序時出現。 我通過默認的關閉按鈕關閉我的應用程序,並設置了這個:
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
任何想法,這里發生了什么? Spring bean是否有可能在應用程序重啟后不知何故? 是否有可能java進程沒有關閉?
我瘋了 任何幫助都非常感謝。
你是從JAR文件運行的嗎? 該JAR文件中的應用程序上下文XML是什么? 將bean從userA
更改為userB
后,是否重新創建了JAR? 這可以解釋神秘的行為。
Spring bean不會在重啟后繼續存在,比任何內存中的值都要多。 你的期望與現實不符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.