我在这里有一个非常非常奇怪的问题。我有一个用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进程没有关闭?
我越来越疯狂。任何帮助,高度赞赏。
只是疯狂的猜测 - 旧的应用程序上下文获取缓存在任何地方?检查打包文件中的应用上下文 - 可能会有所帮助。 –