2013-09-27 40 views
2

我們經常擁有正在執行轉換或其他事情的自定義介體(Java類)。每次我們只想改變班級中的一件小事時,我們需要重新啓動整個WSO2 ESB。無需重新啓動即可添加自定義介體(Java類)

可能「自定義中介」方法是錯誤的,但我們希望保留java類,但是從整個服務器去耦 - 就像代理或端點一樣。 (我們的課程在/components/lib的.jar中)

自定義介體或java類如何在不重新啓動的情況下將WSO2 ESB添加到WSO2 ESB中?

<class name="my.domain.MyJavaClassThatMustBeUpdatedWithoutRestart"/> 

回答

0

在啓動時我們的組件/庫使OSGI束出非OSGI罐子。 因此,如果要更改自定義介體罐,則必須重新啓動。

按照以下COMENT解釋的答案,

WSO2產品的基於OSGI平臺上運行。因此,如果更改OSGI包,則可以從OSGI控制檯重新啓動該包,而無需重新啓動整個服務器。此外,WSO2使用的OSGI容器是Eclipse Equinox OSGI容器。它提供了將非OSGI jar添加到產品的功能,並將這些jar轉換爲OSGI Bundles。該功能僅適用於服務器啓動。所以如果你想添加/更改這些罐子,你應該重新啓動服務器。在運行時,您可以更改OSGI捆綁包,但不能在運行時將非OSGI Bundeles轉換爲OSGI。

+0

這就是我已經指出。但我的問題是**我可以更新一個類(或整個.jar)而無需重新啓動**? – FiveO

+0

這就是爲什麼我提到'你必須重新啓動',這意味着你不能在不重新啓動服務器的情況下更新components/lib(非OSGI jar)中的jar。 –

+0

所以請做出明確的回答:**無法重新啓動**就無法更新jar。那麼你可以解釋**爲什麼**你的答案。不要在沒有任何附加信息的情況下重複問題。但是,感謝您的意見,讓我們看看是否有人知道這是否可行以及如何實現... – FiveO

相關問題