【问题标题】:How to create a lifecycle listener for an application deployed to WebSphere Application Server?如何为部署到 WebSphere Application Server 的应用程序创建生命周期侦听器?
【发布时间】:2012-10-12 22:05:26
【问题描述】:

我有一个应用程序 EAR 部署到 WebSphere。如何为应用程序创建一个生命周期侦听器,该侦听器应在每次启动应用程序时调用一次性初始化代码? 我需要有类似于 WebLogic Server 的类weblogic.application.ApplicationLifeCyleListenerweblogic.application.ApplicationLifecycleEvent 的东西。

【问题讨论】:

    标签: java jakarta-ee websphere


    【解决方案1】:

    EJB 3.1 规范添加了单例会话 bean,它可以用于以可移植、独立于供应商的方式进行应用程序初始化。

    引用 Developing Singleton Session Beans ,以下示例说明了使用 @Startup 注释进行启动初始化的单例会话 bean:

    @Singleton
    @Startup
    public class ConfigurationBean implements Configuration {
        @PostConstruct
        public void initialize() {
             // 1. Create the database table if it does not exist.
             // 2. Initialize settings from the database table.
             // 3. Load a cache.
             // 4. Initiate asynchronous work (for example, work to a messaging queue or to
             //    calls to asynchronous session bean methods.
        }
    
       // ...
    }
    

    如果您使用的是 EJB 3.1,它是 Java EE 6 规范的一部分,这是应用程序初始化的标准方式。 WebSphere 8 和 8.5 支持此规范级别。

    如果您使用的是较旧版本的 WebSphere 或规范,并且不想升级,则可以使用 Startup Beans,这是以前版本中用于此目的的 WebSphere 扩展。

    对 Udo 的回答也 +1。

    【讨论】:

    【解决方案2】:

    我不确定是否有 websphere 的生命周期监听器。但是,您可以创建一个在启动时初始化的虚拟 servlet。

    <servlet>
      <display-name>YourServlet</display-name>
      <servlet-name>YourServlet</servlet-name>
      <servlet-class>com.example.YourServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
      <servlet-name>YourServlet</servlet-name>
      <url-pattern>/YourServlet</url-pattern>
    </servlet-mapping>
    

    您不需要调用该 servlet。它会自行加载。

    【讨论】:

      【解决方案3】:

      使用 Java EE ServletContextListener?

      【讨论】:

        猜你喜欢
        • 2014-01-18
        • 1970-01-01
        • 1970-01-01
        • 2018-08-18
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 1970-01-01
        • 2011-10-04
        相关资源
        最近更新 更多