如何为部署到WebSphere Application Server的应用程序创建生命周期侦听器?

Ayu*_*dal 4 java websphere java-ee

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

Kur*_*glu 6

EJB 3.1规范添加了单一会话bean,可以以便携式,独立于供应商的方式用于应用程序初始化.

引用开发Singleton会话Bean,以下示例说明了使用@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.
    }

   // ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

也是Udo的回答+1.

  • 有一篇很好的文章展示了很多方法,包括上面的内容:http://www-01.ibm.com/support/docview.wss?uid = swg21412991 (4认同)