我的Mule应用程序使用了一个作为Spring Bean启动的java类。这很好。但是,当我取消部署应用程序并部署新版本时,我遇到了一个问题。
在我取消部署应用程序之后,java进程仍然是活动的。在部署新版本的应用程序之后,有两个java类实例正在运行。
作为解决方案,我在java类中添加了一个shutdown钩子。钩子工作,但只有当我关闭Mule本身。当我取消部署应用程序时就不会了。
为了测试这一点,我做了以下操作:- 部署和取消部署应用程序
- 检查日志中java进程关闭的消息,没有发现。
- 重新部署应用程序。
- 停止Mule并检查日志。现在有两个关于java进程关闭的条目。
当我取消部署应用程序时,我应该如何停止java进程?
谢谢,珀斯
我使用的是Mule 3.4.0和jdk1.7.0_25.
在你的类上添加一个stop
方法,并通过Spring的destroy-method
调用它