[英]How to create a lifecycle listener for an application deployed to WebSphere Application Server?
我有一個部署到WebSphere的應用程序EAR。 如何為每次啟動應用程序時應調用一次性初始化代碼的應用程序創建生命周期監聽器? 我需要類似於WebLogic Server的類weblogic.application.ApplicationLifeCyleListener
和weblogic.application.ApplicationLifecycleEvent
。
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.
}
// ...
}
如果您使用的是EJB 3.1,它是Java EE 6規范的一部分,那么這是應用程序初始化的標准方法。 WebSphere 8和8.5支持此規范級別。
如果您使用的是較舊版本的WebSphere或規范,並且您不想升級,則可以使用Startup Beans ,這是在以前版本中用於此目的的WebSphere擴展。
也是Udo的回答+1。
我不確定是否有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。 它會加載自己。
使用Java EE ServletContextListener ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.