如何在jboss启动时实例化一个类

时间:2011-11-16 06:07:19

标签: java jboss

我想实例化我自己的java类(仅限一次),当JBOSS 5和i的启动时间将使用该对象,直到我关闭jboss。

如何才能实例化。

1 个答案:

答案 0 :(得分:4)

您可以使用ServletContextListener接口实现您的类,这使您的类能够在启动和关闭时从应用程序服务器(即JBoss)接收通知。

例如:

public class MyServletContextListener implements ServletContextListener {

            /**This method will run when the web application starts***/
           public void contextInitialized(ServletContextEvent sce) {
            /**Put your codes inside , it will run when JBoss starts ***/
           }

}

然后在MyServletContextListener

中注册web.xml
<?xml version="1.0"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <listener>
             <listener-class>com.abc.xyz.MyServletContextListener </listener-class>
    </listener>

</web-app> 

WAR的格式打包应用程序并将其部署到JBoss中。当JBoss启动时,contextInitialized()中的MyServletContextListener也会运行。