JBoss 7 jndi在战争中使用ejb包的名字

Bil*_*fer 3 jboss ejb jndi java-ee

有没有人知道如何修改在JBoss 7.2(EAP 6.1)下的战争中部署的ejb的全局jndi名称的"模块"组件?

根据规范,模块名称与基本战争名称相同,在我的情况下包括版本号.

这是oracle的规范:

java:global/[<application-name>]/<module-name>/<bean-name>
Run Code Online (Sandbox Code Playgroud)

在我的情况下,它是yeilds:

java:/global/mywar-1.0/MyService
Run Code Online (Sandbox Code Playgroud)

我想要的是:

java:/global/mywar/MyService
Run Code Online (Sandbox Code Playgroud)

我知道我可以在部署之前修改战争的名称,但更愿意通过配置文件明确命名模块.我试图使用ejb-jar.xml模块名称,但它没有任何效果.

Bil*_*fer 7

解决:我最终必须为web.xml的后续3.0规范包含/更新xsd/namespace.这允许在web.xml中指定"module-name"元素,该元素将在创建jndi名称时使用.测试并使用JBoss EAP 6.1.

这是web.xml头和module-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>
Run Code Online (Sandbox Code Playgroud)