2012-04-26 139 views
4

我想讓我的Java EE應用程序可插入。主要應用程序將部署在耳邊,但其EJB中的代碼將包含插件的入口點。插件可以部署在他們自己的jar文件中。有沒有什麼好的框架來做到這一點?我正在尋找一個輕量級框架。Java EE插件框架

我應該閱讀或學習如何製作這樣的框架?

回答

5

OSGi會很適合這個。可以在Java EE應用程序中啓動Apache Felix或Eclipse Equinox,並可以將OSGi軟件包(在MANIFEST.MF文件中包含一些額外條目的jar文件)部署到它們中。

有關於這裏嵌入菲利克斯一些有用的信息:http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html#ApacheFelixFrameworkLaunchingandEmbedding-embedding

+0

或者,如果您已經使用Glassfish ... http://docs.oracle.com/cd/E26576_01/doc.312/e24930/osgi.htm。這會讓你不必自己編寫OSGi內容,因爲你可以直接將這些包部署到Glassfish。儘管如此,我討厭它會把你和供應商聯繫起來。 – 2014-03-06 15:10:28

1

兩個其他的方法來創建插件爲Java EE都可以通過其連接器架構(JCA),並通過它的便攜擴展(CDI)。

雖然退出功能強大,但JCA沒有很好地記錄,因爲它更常用於供應商而不是常規應用程序開發人員。

+0

我似乎無法找到以「可插拔」方式使用CDI的任何具體示例。即使使用CDI,部署仍然非常靜態。這意味着我必須重新生成整個應用程序才能添加插件。例如,對於CDI,@從一個單獨的應用程序中注入bean似乎是不可能的,這對於可插入的歸檔來說是最佳的。 – 2014-03-06 15:06:28