如何在取消部署mule应用程序时停止java类

如何在取消部署mule应用程序时停止java类,java,spring,class,mule,undeploy,Java,Spring,Class,Mule,Undeploy,我的Mule应用程序使用一个java类,该类作为Springbean启动。这个很好用。但是,当我取消部署应用程序并部署新版本时,我遇到了一个问题 取消部署应用程序后,java进程仍处于活动状态。部署应用程序的新版本后,有两个java类实例正在运行 作为解决方案,我在java类中添加了一个shutdownhook。钩子工作,但只有当我关闭骡子本身。当我取消部署应用程序时不会 为了测试这一点,我做了以下工作: 部署应用程序并取消部署 在日志中查看关闭java进程的消息,未找到任何内容 再次部署应用

我的Mule应用程序使用一个java类,该类作为Springbean启动。这个很好用。但是,当我取消部署应用程序并部署新版本时,我遇到了一个问题

取消部署应用程序后,java进程仍处于活动状态。部署应用程序的新版本后,有两个java类实例正在运行

作为解决方案,我在java类中添加了一个shutdownhook。钩子工作,但只有当我关闭骡子本身。当我取消部署应用程序时不会

为了测试这一点,我做了以下工作:

  • 部署应用程序并取消部署
  • 在日志中查看关闭java进程的消息,未找到任何内容
  • 再次部署应用程序
  • 停下骡子,检查日志。现在有两个关于java进程关闭的条目
当我取消部署应用程序时,应该如何停止java进程

谢谢, 杰罗恩


我正在使用Mule 3.4.0和jdk1.7.0_25。

在类中添加一个
stop
方法,并通过Spring的
destroy方法调用它?非常感谢。