2014-05-01 37 views
2

有誰知道如何修改JBoss 7.2(EAP 6.1)下戰爭中部署的ejb的全局jndi名稱的「module」組件?JBoss 7 jndi戰爭中的ejb包的名字

根據規範,模塊名稱與基本戰爭名稱相同,在我的情況下包含版本號。

這是Oracle的規格:

java:global/[<application-name>]/<module-name>/<bean-name> 

在我的情況yeilds:

java:/global/mywar-1.0/MyService 

我想的是:

java:/global/mywar/MyService 

我知道我可以修改部署之前的戰爭名稱,但希望通過配置文件明確命名模塊。我試圖使用ejb-jar.xml模塊名稱,但它沒有效果。

回答

5

解決:我最終不得不包含/更新web.xml的3.0版規範的xsd /命名空間。這允許在web.xml中指定一個「module-name」元素,它將在創建jndi名稱時使用。經過測試並在JBoss EAP 6.1上工作。

這裏的web.xml中報頭和模塊-name元素:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    id="WebApp_ID" version="3.0"> 

    <module-name>mywar</module-name> 
0

你需要做的是創建一個jboss-web.xml並將其放在web.xml文件的META-INF中。把它放在裏面吧:

<jboss-web> 
    <context-root>mywar</context-root> 
</jboss-web> 

乾杯!

如果這封裝在EAR中,則可以使用application.xml來執行此操作。

+1

感謝您的響應。我實際上已經設置了上下文根,並且它按預期工作(設置應用程序url的上下文根)。這是戰爭中包裝的ejb的jndi名字,我試圖調整。當我設置上下文根時,jndi名稱仍然包含基本戰爭名稱(包括版本)。 –

+0

Gotcha - 對不起,我忍不住了。 – jgitter