1

Java中是否有一种机制可以让我将一个函数或可运行的东西注入到jar即将被卸载时将被调用的东西中?

请注意,JVM 通常会保持正常运行。那排除了Runtime.addShutdownHook

(需要它来促进热部署到 Web 服务器)。

4

1 回答 1

5

据我所知,Java SE 中什么都没有。

但是由于您提到“Web 服务器”,您可能正在查看 Java EE 解决方案。然后是ServletContextListener. 只需实现该接口并在web.xml.

对于纯 Java SE 解决方案,我不会将库加载绑定到类,而是绑定到实例。这样,您可以更严格地控​​制何时加载和卸载。

您甚至可以finalize在此处使用,因为这是适合的少数情况之一。这将具有不确定性的缺点(即,当加载新版本时,您不能依赖最终确定的对象)。

于 2013-10-07T09:13:58.060 回答