2013-07-26 60 views
1

我們已經按照我們的項目模塊化結構,依賴管理EAR

EAR
|
| --- Web模塊
| --- ConnectorFacade
| ---連接器
| ---實用模塊
| --- BPEL模塊

還有其他模塊也爲理解問題我提到了幾個模塊。

目前任何簡單的變化發生在上述模塊中,我們需要做的WebSphere應用服務器上的 整體部署,因爲我們一直在歸檔單耳的所有模塊中的任何一個。

我希望EAR應該與依賴模塊分開,除了Web模塊之外,其他模塊應該在EAR之外,以便每當連接器或任何其他模塊模塊發生任何更改時,我只會更新連接器jar並重新啓動應用服務器選擇新的課程,這樣可以避免我的部署過程,並且我可以在最短的時間內做好新的更改。

讓我知道是否有很好的解決方案來管理相關的罐子。

+0

你的應用服務器是否支持爆炸耳朵的熱部署? –

+0

我的應用程序不支持熱部署。 –

+2

考慮使用一個進行開發。它會爲你節省很多時間。 –

回答

1

正如 'FNT' OSGI提到的可能是你的問題的解決方案。

你還可以做的是使用遠程EJB。

在單獨部署罐子

@Stateless 
    @Remote(MyRemoteInterface.class) 
    public class MyService implements MyRemoteService { 
     // Some implementations 
    } 

共享的API

interface MyRemoteService { 

    } 

在某些模塊在你的EAR

@Stateless 
    public class MyBoundary { 
     @EJB 
     MyRemoteService service; 

     // Stuff 
    } 

更多信息遠程服務見here

+0

請注意,當調用遠程bean時,所有的參數都被序列化和反序列化,所以會有性能損失。 – rzymek

0

您可以使用共享庫,但這是骯髒的做法。 另一種模式是OSGI,但你應該調整所有的邏輯,這是一種獨立的思維模式。

只要你配置好你的構建工具,我不會看到隔離你模塊的構建會帶來什麼樣的真正好處,它只是幾秒鐘的事情。

+0

我認爲你應該把注意力集中在諸如自動化構建,熱部署,等等......不要分裂你的工件 –