问题
How do I automatically trigger Java function to stop Quartz scheduler jobs when I deploy/undeploy/redeploy JEE5 application in Glassfish.
回答1:
Implement ServletContextListener and hook on contextDestroyed()
.
Basic example:
public class Config implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
// Write code here which should be executed on webapp startup.
}
public void contextDestroyed(ServletContextEvent event) {
// Write code here which should be executed on webapp shutdown.
}
}
and register it as a <listener>
in web.xml
.
<listener>
<listener-class>com.example.Config</listener-class>
</listener>
回答2:
Once you get to JAVA EE-6+, annotate a class with @WebListener and implement ServletContextListener on that class to get a shutdown notification. No need to deal with web.xml. See here
来源:https://stackoverflow.com/questions/1862242/trigger-function-when-undeploying-application