[英]Java EE Web App Plugin Architecture
我有一個簡單的Web應用程序,它通過Web服務接收數據並將其保存在數據庫中。 我正在使用CXF,Hibernate和Glassfish 3.我對這一切都很陌生,但是我想弄清楚如何開發一個簡單的插件模型,這樣當App fisrt啟動時它會搜索文件夾中的插件並且為每個插件調用一個實例化(?)類。 問題是我不確定如何啟動這個過程(即App開始時的第一次) - 我怎么知道應用程序何時首次啟動。 任何建議/意見贊賞!
好的,這是一個帶有web.xml修改的示例類:
package foo.bar.startup;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class AppStartup implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
// App started - do start up stuff
}
public void contextDestroyed(ServletContextEvent event) {
// App stopped - do something
}
}
<listener>
<listener-class>foo.bar.AppStartup</listener-class>
</listener>
如果您想知道應用程序何時啟動/停止,您可以實現ServletContextListener並將其注冊到web.xml文件中。
您應該查看OSGI - 如果您需要精心設計的插件模型,支持在運行時部署新插件,熱插拔插件等。
當Web應用程序啟動時,它會觸發ServletContextEvent
,該ServletContextEvent
將轉到每個已注冊的ServletContextListener
。 必須在應用程序的web.xml中配置這些偵聽器:
<listener>
<listener-class>com.foo.bar.MyServletContextListener</listener-class>
</listener>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.