How do I run a method before republishing to JBoss

2020-05-10 16:04发布

问题:

I'm developing a J2EE web application and I would like to be able to run a method (or function, class, whatever - something) during the "republish" process. It would be nice if I could control when during the republish my function gets called (before, during, after, etc.) but a good first step would be getting something to be called automatically.

As a temporary hack, I was able to add a button to my web app that you click right before you click "republish" in Eclipse.

回答1:

Implement ServletContextListener to hook on webapp's startup and shutdown.

public class Config implements ServletContextListener {

    public void contextInitialized(ServletContextEvent event) {
        // Do stuff during startup.
    }

    public void contextDestroyed(ServletContextEvent event) {
        // Do stuff during shutdown.
    }

}

To get it to work, just register it in web.xml.

<listener>
    <listener-class>com.example.Config</listener-class>
</listener>

I am however only not sure what exactly you mean with during publish. But you could take a look for another listeners available in the Servlet API or maybe a Filter.