如何检测我的独立Java应用程序何时关闭?

时间:2015-07-01 19:45:25

标签: java multithreading jms

我有一个独立的Java应用程序,它充当连接到ActiveMQ队列的使用者。在我的应用程序的main()方法中,我创建了一个消费者的实例作为一个线程并启动它。

看到我正在使用JMS,我想在我的应用程序中添加一个关闭钩子,这样当我的应用程序停止工作(终止或终止)时,我的应用程序将运行一些方法,其中我的所有资源都将被关闭

我已经尝试Runtime.addShutdownHook()但是每当我关闭我的应用程序时似乎都没有调用它。

我希望它可以像调用contextDestroyed()的{​​{1}}方法一样。

1 个答案:

答案 0 :(得分:1)

Runtime.addShutdownHook()是正确使用的API,但不幸的是,Eclipse中的“停止”按钮会终止进程而不允许任何挂钩运行。有关详细信息,请参阅Shutdown hook doesn't work in Eclipse