运行maven测试时出现NoSuchEJBException

时间:2012-05-01 15:10:18

标签: java maven jboss ejb jndi

我有一个maven客户端项目,我作为maven测试运行。我在junit测试中做的第一件事就是使用jndi字符串进行查找。在这里,我收到一个无状态bean代理,它被转换为远程接口。一旦我从界面调用一个方法(比如保存一些域对象,使用一个使用jpa的数据访问对象),我收到异常

javax.ejb.NoSuchEJBException: No such EJB[appname=,modulename=someName,distinctname=,beanname=SomeBean]

文档说:“如果尝试在有状态会话或不再存在的单件对象上调用业务方法,则抛出NoSuchEJBException”。问题是豆是无国籍的,不是有状态的,也不是单身的。我也非常确定jndi字符串是正确的,因为如果我在客户端项目的main方法中进行相同的查找和持久性方法调用(使用“install jboss-as:deploy”作为maven构建运行)一切工作良好。 有什么建议我如何在测试时使用代理的持久性方法?一些同事有类似的设置,它适用于没有Arquillian左右的人。

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但它现在有效。我所做的是删除所有DaoBeans继承的抽象泛型DaoBean中的EntityManager的getter方法。在执行客户端时,getter突然显示为错误(之前未显示为错误)。