2010-02-16 63 views
2

對於我們當前的基於JBoss的J2EE項目,我們需要使用消息驅動Bean和由第三方作爲RAR文件提供的JCA資源適配器與遠程系統進行交互。我想將整個項目作爲EAR文件打包並部署到我們的JBoss服務器。最值得注意的是,RAR文件應嵌入EAR文件中,而不是全局部署。如何引用嵌入式JCA資源adapater

到目前爲止,所有這些工作都很好,但我並不特別滿意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屬性和過濾」和「不要在RAR中包含RAR」。我強烈懷疑目前在JBoss中沒有辦法正確處理這個問題。所以我會放棄它,只接受我在這裏得到的唯一答案。

回答

2

您使用maven構建?如果是這樣,你可以設置一個Maven屬性名稱EAR文件,並使用一個佔位符

如 XXX

然後用

$ {} ear.name用這個名字來設置資源文件值的.ear#第三方-1.0.rar

只是確保你設置將具有佔位符

像這樣的資源:

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

+0

感謝您的回答!我必須承認,在此期間,我在這裏交叉發佈:http://community.jboss.org/message/529160 迄今爲止,我得到的最有用的答案與您建議的非常相似。我正在使用maven,並且已經決定使用資源過濾。但它仍然感覺不太正確,更像是解決方法。 – 2010-03-09 09:34:02

+0

接受我現在得到的唯一答案。看到我上面的編輯。 – 2010-04-09 12:25:44