我有一个独立的Java应用程序,它充当连接到ActiveMQ队列的使用者。在我的应用程序的main()
方法中,我创建了一个消费者的实例作为一个线程并启动它。
看到我正在使用JMS,我想在我的应用程序中添加一个关闭钩子,这样当我的应用程序停止工作(终止或终止)时,我的应用程序将运行一些方法,其中我的所有资源都将被关闭
我已经尝试Runtime.addShutdownHook()
但是每当我关闭我的应用程序时似乎都没有调用它。
我希望它可以像调用contextDestroyed()
的{{1}}方法一样。
答案 0 :(得分:1)
Runtime.addShutdownHook()
是正确使用的API,但不幸的是,Eclipse中的“停止”按钮会终止进程而不允许任何挂钩运行。有关详细信息,请参阅Shutdown hook doesn't work in Eclipse。