如何检测我的独立 Java 应用程序何时关闭?
How can I detect when my standalone Java application was shut down?
我有一个独立的 Java 应用程序充当连接到 ActiveMQ 队列的消费者。在我的应用程序的 main()
方法中,我创建了一个消费者实例作为线程并启动它。
看到我正在为此使用 JMS,我想向我的应用程序添加一个关闭挂钩,以便当我的应用程序停止工作(终止或终止)时,我的应用程序将 运行 一些方法,其中我所有的资源都将被关闭。
我已经尝试过 Runtime.addShutdownHook()
但它似乎并没有在我关闭我的应用程序时被调用。
我希望它表现得好像调用了 ServletContextListener
的 contextDestroyed()
方法。
Runtime.addShutdownHook()
是正确的 API 使用,但不幸的是 Eclipse 中的 "Stop" 按钮终止了进程,不允许任何挂钩 运行。有关详细信息,请参阅 Shutdown hook doesn't work in Eclipse。
我有一个独立的 Java 应用程序充当连接到 ActiveMQ 队列的消费者。在我的应用程序的 main()
方法中,我创建了一个消费者实例作为线程并启动它。
看到我正在为此使用 JMS,我想向我的应用程序添加一个关闭挂钩,以便当我的应用程序停止工作(终止或终止)时,我的应用程序将 运行 一些方法,其中我所有的资源都将被关闭。
我已经尝试过 Runtime.addShutdownHook()
但它似乎并没有在我关闭我的应用程序时被调用。
我希望它表现得好像调用了 ServletContextListener
的 contextDestroyed()
方法。
Runtime.addShutdownHook()
是正确的 API 使用,但不幸的是 Eclipse 中的 "Stop" 按钮终止了进程,不允许任何挂钩 运行。有关详细信息,请参阅 Shutdown hook doesn't work in Eclipse。