2013-01-24 74 views
7

我正在創建一個應用程序,它非常依賴各種資源(如jms隊列,webservice端點,jdbc連接)的動態創建/管理......我在java EE中有一個背景,目前正在研究一個jboss 7服務器,但我發現越來越難以編程控制這些東西。最難控制的事情似乎是網絡服務。我需要能夠即時生成WSDL(和XSD),管理端點,肥皂處理程序等,並且系統似乎不會被設置爲執行此操作。以編程方式控制應用程序服務器

其他應用服務器似乎並沒有真正提供任何突破性的解決方案,所以我想知道是否Java EE不是這個特定問題的最佳解決方案?

是否有一個應用服務器,可以讓你做到這一點?有另外一種技術嗎?我應該推出一個集成了所有獨立模塊(例如jms服務器,web服務器等)的定製解決方案嗎?

UPDATE

爲了澄清,大多數Java EE的東西是通過註釋和XML配置的混合物來實現的。然而,這是假設你有每個資源的POJO和/或jar/war/...。

假設我有一個@WebServiceProvider bean,可以重複使用多個輸入/輸出組合(例如因爲它動態重定向內容)。我需要能夠即時部署提供者的新「實例」。這意味着我不想複製代碼並重新部署它,我只想在類路徑中使用一個現有的bean,並使用不同的配置設置多次部署它。這也意味着我需要動態管理WSDL。最終的結果應該是作品很像必要的集成安全性,SOAP處理程序,該應用程序服務器上的Web服務標準的web服務...

我想,在應用程序服務器代碼的某些點上,必須有一個類「WebserviceManager」,它有一個像「createWebservice(...)」這樣的方法,當部署模塊發現一個webservice註釋時,它實際上會使用它。我想訪問該方法和類似的方法來創建jdbc連接,jms隊列......

+1

看來您需要關注部署自動化:puppet,chef等。在較小規模上,maven可以實現一些功能。 – maksimov

+0

不是,工具本身必須管理所有不同的方面,不要依靠外部工具和程序來啓動和運行。 – nablex

+0

您是否需要在應用程序運行或部署時創建此資源? – raffael

回答

1

您可以使用OSGi來處理這些類型的場景。它非常適合熱點部署varios模塊。

+0

OSGi假設我實際上有一個模塊。關鍵是在沒有註釋的POJO的情況下即時創建和管理資源。 – nablex

+0

@ user1109519您可以自己定義資源API,也可以使用現有的API來完成此操作。另外不要忘記,帶註釋的POJO只是一個快捷方式,如果您直接使用相關的OSGi服務API,則可以獲得更多的控制權。 –

+0

所以你可以使用一個編程OSGi接口來註冊一個webservice而不會創建虛擬xml,pojo或任何工件?如果是這樣,你能指點我一個教程嗎?我從來沒有見過OSGi這樣使用過。 – nablex

相關問題