簡體   English   中英

Java EE Web App插件架構

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM