2011-04-27 50 views

回答

4

服务器启动相对比较简单:添加一个使用load-on-startup 1调用的servlet,以便它能够尽早启动,然后可以在系统中初始化其中的东西,方法为init()。由于部署者首先部署ejbs,然后部署servlet,因此您应该在这里使用servlet中的ejbs。

当应用程序关闭时,该servlet的destroy()方法(应该是)被调用,所以您可以从那里关闭东西。

<servlet> 
    <servlet-name>InitShutdownServlet</servlet-name> 
    <display-name>Init Servlet</display-name> 
    <servlet-class>com.acme.InitServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
+1

感谢这正是我一直在寻找。我只想补充说现在可以使用注释完成同样的事情: '@WebServlet(loadOnStartup = 1) public class InitShutdownServlet extends HttpServlet {... ' – 2012-09-06 07:57:03

0

的MBean可用作JBoss提供ServiceMBean接口& ServiceMBeanSupport抽象类的启动/关闭过程中执行自定义代码。

重写生命周期回调方法以添加自定义逻辑。

有关进一步的参考,请参阅JBoss Service