有没有人知道如何修改在JBoss 7.2(EAP 6.1)下的战争中部署的ejb的全局jndi名称的“模块”组件?
根据规范,模块名称与基本战争名称相同,在我的情况下包括版本号。
以下是来自oracle的规范:
java:global/[<application-name>]/<module-name>/<bean-name>
就我而言,它是:
java:/global/mywar-1.0/MyService
我想要的是:
java:/global/mywar/MyService
我知道我可以在部署之前修改war的名称,但是更喜欢通过配置文件显式命名模块。我试图使用ejb-jar.xml模块名称,但它没有效果。
答案 0 :(得分:6)
解决:我最终必须为web.xml的后续3.0规范包含/更新xsd / namespace。这允许&#34;模块名称&#34;要在web.xml中指定的元素,该元素将在创建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>
答案 1 :(得分:0)
您需要做的是创建一个jboss-web.xml并将其放在web.xml旁边的META-INF中。把它放在里面:
<jboss-web>
<context-root>mywar</context-root>
</jboss-web>
干杯!
如果将其打包在EAR中,您可以使用application.xml来执行此操作。