2

对于我们当前基于 JBoss 的 J2EE 项目,我们需要使用消息驱动的 bean 和第三方作为 RAR 文件提供的 JCA 资源适配器与远程系统交互。我想将整个项目打包并部署为一个 EAR 文件到我们的 JBoss 服务器。最值得注意的是,RAR 文件应该嵌入到 EAR 文件中,而不是全局部署。

到目前为止,所有这些都运行良好,但我对 RAR 文件的引用方式并不特别满意。例如,与 MDB 一起打包的 jboss.xml 目前看起来像这样:

<jboss>
   <enterprise-beans>
      <message-driven>
         <ejb-name>testBean1</ejb-name>
         <resource-adapter-name>test1.ear#thirdparty-1.0.rar</resource-adapter-name>
      </message-driven>
   </enterprise-beans>
</jboss>

虽然这通常工作正常,但当 EAR 文件重命名为“test2.ear”时它会中断。有没有办法在不硬编码包含存档名称的情况下引用嵌入式 RAR 文件?

编辑:差不多两个月后,我仍然没有找到这个问题的真正答案。四处询问,我得到的只是这两个有用的建议:“使用 Maven 属性和过滤”和“不要在 EAR 中包含 RAR”。我强烈怀疑目前没有办法在 JBoss 中正确处理这个问题。所以我会放弃它,只接受我在这里得到的唯一答案。

4

1 回答 1

2

你是用 maven 来构建的吗?如果是这样,您可以设置一个命名 ear 文件的 maven 属性,并使用该名称使用占位符在资源文件中设置值

例如 xxx

然后使用

${ear.name}.ear#thirdparty-1.0.rar

只要确保你设置了将有占位符的资源

像这样的东西:

<build>
<resources>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
  </resource>
</resources>

于 2010-03-08T20:32:26.450 回答