1
我正在研究部署在JBoss應用程序服務器上的幾個ESB應用程序組成的項目。在沒有代碼複製的情況下在多個ESB應用程序中使用相同的JBoss操作
每個ESB應用處理消息(驗證,豐富...)通過幾個動作(它們延伸AbstractActionLifecycle); 其中一些操作對於所有應用程序都是相同的。
爲了避免代碼重複我感動的是使用一次以上到CommonService.esb應用程序的所有操作。這種方法工作得很好,到目前爲止除了一個問題:
當我重新部署CommonService.esb,我預計將重新加載的所有操作。 但是,情況並非如此。沒有新的動作實例被創建,舊的實例仍然存在。 我明白爲什麼會發生這種情況(JBoss仍然引用這些操作,因此沒有垃圾回收),但我不知道是否有修復。
我可以問JBoss重新加載它的動作嗎?是否有更好的方法來分享在多個地方使用的行動?