Jakarta ee JBoss7 ejb的jndi名称';美国在战争中的一揽子计划

Jakarta ee JBoss7 ejb的jndi名称';美国在战争中的一揽子计划,jakarta-ee,jboss,ejb,jndi,Jakarta Ee,Jboss,Ejb,Jndi,有人知道如何修改JBoss7.2(EAP6.1)下在战争中部署的ejb的全局jndi名称的“模块”组件吗 根据规范,模块名称与基本war名称相同,在我的例子中,它包括一个版本号 以下是oracle的规范: java:global/[<application-name>]/<module-name>/<bean-name> 我想要的是: java:/global/mywar/MyService 我知道我可以在部署之前修改war的名称,但更愿意通过配置文件显式

有人知道如何修改JBoss7.2(EAP6.1)下在战争中部署的ejb的全局jndi名称的“模块”组件吗

根据规范,模块名称与基本war名称相同,在我的例子中,它包括一个版本号

以下是oracle的规范:

java:global/[<application-name>]/<module-name>/<bean-name>
我想要的是:

java:/global/mywar/MyService

我知道我可以在部署之前修改war的名称,但更愿意通过配置文件显式地命名模块。我尝试使用ejb-jar.xml模块名,但没有效果。

您需要做的是创建一个jboss-web.xml,并将其放在web.xml旁边的META-INF中。把这个放进去:

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

我的战争
干杯


如果这是在EAR中打包的,那么您可以使用application.xml来完成这项工作。

解决:我最终不得不为后来的3.0规范web.xml包含/更新xsd/名称空间。这允许在web.xml中指定一个“module name”元素,该元素将在创建jndi名称时使用。测试并使用JBoss EAP 6.1

下面是web.xml标题和模块名称元素:

<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>

我的战争

感谢您的回复。实际上,我已经设置了上下文根目录,它正在按预期工作(设置应用程序url的上下文根目录)。我试图调整的是分配给战争中打包的ejb的jndi名称。当我设置上下文根目录时,jndi名称仍然包含基本war名称(包括版本)。明白了-抱歉,我帮不上更多忙。
<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>