Jboss 7.1.1 IllegalArgumentException:env不允许使用空名称段

时间:2014-09-08 12:15:57

标签: java jboss

我有

  

无法处理部署的部署INSTALL

     

(...)

     

引起:java.lang.IllegalArgumentException:env不允许使用空名称段           at org.jboss.msc.service.ServiceName.of(ServiceName.java:85)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]           在org.jboss.msc.service.ServiceName.append(ServiceName.java:112)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]

在Arquillian测试期间尝试部署包含MDB的jar时。怎么解决这个问题?

2 个答案:

答案 0 :(得分:4)

我使用了

的示例Arquillian Testing JMS section
@Resource(mappedName = "/ConnectionFactory")
private ConnectionFactory factory;

看起来资源名称路径不能包含空白部分。我添加了jms前缀,它部署得很好。

@Resource(mappedName = "java:/ConnectionFactory")
private ConnectionFactory factory;

答案 1 :(得分:0)

耳结构可能存在问题,请检查jboss-app.xml
所有模块都应该有效,需要避免这样的例子:

<module>
    <service><!-- [INSERT SERVICE NAME HERE] --></service>
</module>

或者复制jboss-app,比如jboss-appp-ref.xml等。

所有JNDI名称都应该具有段取决于EE 6规范。 在注释,查找等。 标准:

java:/yourJndiName

PS:有jboss 7建议使用资源名称段,如:

java:jboss/datasources/yourDataSource
java:jboss/mail/yourMailSource