对于我们当前基于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中正确处理这个问题。所以我会放弃它,只接受我在这里得到的唯一答案。
答案 0 :(得分:2)
e.g XXX
然后使用
$ {ear.name}的.ear#第三方-1.0.rar
只需确保设置具有占位符的资源
类似的东西:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>