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

时间:2010-02-16 12:49:37

标签: java java-ee jboss jboss-mdb jca

对于我们当前基于JBoss的J2EE项目,我们需要使用消息驱动的bean和由第三方作为RAR文件提供的JCA资源适配器与远程系统进行交互。我想将整个项目打包并部署为我们的JBoss服务器的EAR文件。最值得注意的是,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中正确处理这个问题。所以我会放弃它,只接受我在这里得到的唯一答案。

1 个答案:

答案 0 :(得分:2)

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

e.g XXX

然后使用

$ {ear.name}的.ear#第三方-1.0.rar

只需确保设置具有占位符的资源

类似的东西:

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