【发布时间】:2010-01-20 23:14:05
【问题描述】:
我正在处理一个项目,该项目由部署在 JBoss 应用程序服务器上的多个 ESB 应用程序组成。
每个 ESB 应用程序通过多个操作(它们扩展 AbstractActionLifecycle)处理消息(验证、丰富...); 其中一些操作对于所有应用程序都是相同的。
为了避免代码重复,我将所有多次使用的操作移到了 CommonService.esb 应用程序中。到目前为止,这种方法效果很好,除了一个问题:
当我重新部署 CommonService.esb 时,我希望重新加载所有操作。 然而,这种情况并非如此。没有创建动作的新实例,旧实例仍然存在。 我理解为什么会发生这种情况(JBoss 仍然引用这些操作,因此没有垃圾收集),但我想知道是否有解决办法。
我可以要求 JBoss 重新加载它的动作吗?有没有更好的方法来共享在多个地方使用的操作?
【问题讨论】: