我在這裏有一個非常非常奇怪的問題。我有一個用Spring 3.0.5-Release
和Java 6.0
編寫的桌面應用程序。我也使用Swing作爲用戶界面。Spring Beans在應用程序重新啓動後生存嗎?
在啓動時,應用程序讀取一個文件application-context.xml
,並從那裏實例化配置Bean,就像這樣:
<bean id="config" class="my.blabla.Configuration">
<property name="port" value="5555"></property>
<property name="user" value="myUser"></property>
</bean>
在我的應用程序正在使用此配置Bean的屬性。
我將應用程序打包成一個jar文件和一臺計算機上部署它:
現在的問題,以下是。 我遵循以下步驟:
- 在
application-context.xml
我的財產用戶更改爲用戶A。 - 現在我運行該應用程序。一切運行良好。在日誌文件屬性用戶顯示userA。
我關閉了應用程序。
在
application-context.xml
我更改屬性用戶到用戶B。- 我運行該應用程序。但在日誌文件屬性用戶顯示userA。
更多的信息。這在我調試應用程序時不會發生。它只在應用程序從命令行打包並執行時出現。 我通過默認的關閉按鈕關閉我的申請,並已將此:
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
任何想法,這裏發生了什麼?彈簧豆有可能以某種方式在應用程序重新啓動後繼續存在?有沒有可能java進程沒有關閉?
我越來越瘋狂。任何幫助,高度讚賞。
只是瘋狂的猜測 - 舊的應用程序上下文獲取緩存在任何地方?檢查打包文件中的應用上下文 - 可能會有所幫助。 –