簡體   English   中英

Spring Beans在應用程序重啟后幸免

[英]Spring Beans survive application restart?

我這里有一個非常奇怪的問題。 我有一個用Spring 3.0.5-ReleaseJava 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文件中並將其部署在一台機器上。 我按照以下步驟操作:

  1. application-context.xml我將屬性user更改為userA
  2. 現在我運行應用程序。 一切都運行良好。 在log-file屬性中,用戶顯示userA
  3. 我關閉了應用程序

  4. application-context.xml我將屬性user更改為userB

  5. 我運行應用程序。 但是在日志文件屬性中, 用戶顯示userA

更多信息。 調試應用程序時不會發生這種情況。 它僅在從命令行打包和執行應用程序時出現。 我通過默認的關閉按鈕關閉我的應用程序,並設置了這個:

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM