如何引用嵌入式JCA资源适配器

问题描述 投票:2回答:1

对于我们当前基于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中无法正确处理此问题。因此,我将放弃它,只接受我在这里得到的唯一答案。

java jakarta-ee jboss jboss-mdb jca
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>

© www.soinside.com 2019 - 2024. All rights reserved.