从 JUnit 调用 EJB 方法 - "No such EJB method"



我试图在JUnit测试中调用远程EJB上的一个方法,该方法将针对DB运行SQL并返回结果。这是来自异常的消息:

java.lang.IollegalArgumentException:没有这样的EJB方法org.jboss.ejb.client.EJBMethodLocator@3c2f505在SiViewDBFacadeEAR-0.0.1SNAPSHOT/SiViewDBFacadeEJB-0.0.1SNAPshot/SiViewMMDBAccessBean 上找到

首先,这个错误似乎是间歇性的。我在EJB中有几个不同的方法,它们运行不同的SQL并以HashMap的形式返回结果。在我的JUnit测试中,我连续调用这些方法,我注意到对第二个方法的调用总是失败,即使我切换了调用的顺序。就在最近,我试着调用了两次完全相同的方法,第一次它回来了,但第二次失败了。

这个问题的签名会引起任何人的共鸣吗。我对使用EJB有些陌生,但这个问题的不一致性似乎很奇怪。

谢谢大家。

发生此错误的最常见原因是EJB没有初始化或根本没有部署到承载它的服务器。查看客户端和服务器端的日志,以确保所有必要的组件都已初始化并运行。

最新更新