如何在卸载一个mule应用程序时停止java类



我的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调用它

相关内容

  • 没有找到相关文章

最新更新