JavaEE企业应用程序:在部署/启动时执行一些操作

JavaEE企业应用程序:在部署/启动时执行一些操作,java,deployment,jakarta-ee,entity,startup,Java,Deployment,Jakarta Ee,Entity,Startup,我希望在部署我的应用程序(具有业务逻辑的企业应用程序EJB和客户端Web)后立即执行一些操作。 例如,我想使某个实体处于持久状态,或者创建一个文件。 我该怎么做 谢谢。配置并覆盖contextInitilized() 在web应用程序描述中,web.xml <web-app ...> <listener> <listener-class>com.someCompany.AppNameServletContextListener</

我希望在部署我的应用程序(具有业务逻辑的企业应用程序EJB和客户端Web)后立即执行一些操作。 例如,我想使某个实体处于持久状态,或者创建一个文件。 我该怎么做

谢谢。

配置并覆盖
contextInitilized()

在web应用程序描述中,web.xml

<web-app ...>
    <listener>
        <listener-class>com.someCompany.AppNameServletContextListener</listener-class>
    </listener>
</web-app
“默认”方法是使用带有init()方法的servlet。然后在servlet描述符中,将此servlet标记为启动时加载1:

例如:

<servlet-name>Seam Resource Servlet</servlet-name>
   <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
Seam资源Servlet org.jboss.seam.servlet.SeamResourceServlet 1.
一旦部署servlet(在部署EJB之后发生),就会调用init()方法,您就可以执行所需的任务。

如果您的耳朵中有当前的web应用程序,最简单和最简单的方法就是使用ServletContextListener,否则,在EJB3.1中,您可以使用自动计时器或启动单例会话bean。

非常感谢!好。。。我对吉是个新手。如何配置ContextListener?@Mauro点击F5,添加信息非常感谢!我要试试那个。。。我会让你知道的。现在更容易了……添加到Now的注释提供了这种行为,而无需编辑web.xml文件。看到这一点很有启发性。
<servlet-name>Seam Resource Servlet</servlet-name>
   <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>