【问题标题】:Using the same JBoss Action in multiple ESB Applications without code duplication在多个 ESB 应用程序中使用相同的 JBoss Action 而无需重复代码
【发布时间】:2010-01-20 23:14:05
【问题描述】:

我正在处理一个项目,该项目由部署在 JBoss 应用程序服务器上的多个 ESB 应用程序组成。

每个 ESB 应用程序通过多个操作(它们扩展 AbstractActionLifecycle)处理消息(验证、丰富...); 其中一些操作对于所有应用程序都是相同的。

为了避免代码重复,我将所有多次使用的操作移到了 CommonService.esb 应用程序中。到目前为止,这种方法效果很好,除了一个问题:

当我重新部署 CommonService.esb 时,我希望重新加载所有操作。 然而,这种情况并非如此。没有创建动作的新实例,旧实例仍然存在。 我理解为什么会发生这种情况(JBoss 仍然引用这些操作,因此没有垃圾收集),但我想知道是否有解决办法。

我可以要求 JBoss 重新加载它的动作吗?有没有更好的方法来共享在多个地方使用的操作?

【问题讨论】:

    标签: java jboss reference


    【解决方案1】:

    一旦被告知两个项目之间存在依赖关系,JBoss 可以/将重新加载操作。

    我在所有其他项目的 META-INF/deployment.xml 中添加了以下内容。

    <?xml version="1.0" encoding="UTF-8"?>
        <jbossesb-deployment>
        <depends>jboss.esb:deployment=CommonServices.esb</depends>
    </jbossesb-deployment>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 2010-10-20
      相关资源
      最近更新 更多