【问题标题】:Invoking EJB method from JUnit - "No such EJB method"从 JUnit 调用 EJB 方法 - “没有这样的 EJB 方法”
【发布时间】:2022-01-13 18:52:31
【问题描述】:

我正在尝试在 JUnit 测试中调用远程 EJB 上的方法,该方法将对数据库运行 SQL 并返回结果。以下是来自异常的消息:

java.lang.IllegalArgumentException:在 SiViewDBFacadeEAR-0.0.1-SNAPSHOT/SiViewDBFacadeEJB-0.0.1-SNAPSHOT/SiViewMMDBAccessBean 上找不到此类 EJB 方法 org.jboss.ejb.client.EJBMethodLocator@3c2f505

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

这个问题签名是否会引起任何人的注意。我对使用 EJB 有点陌生,但这个问题的不一致性质似乎很奇怪。

谢谢大家。

【问题讨论】:

  • 您在哪个容器中运行?你在使用 Arquillian 之类的东西吗?

标签: java jboss ejb


【解决方案1】:

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

【讨论】:

  • 感谢您的回复。不确定我的案例是否符合这里的条件,因为正如我在最初的简介中所说,似乎方法的调用总是第一次工作,然后在随后的调用中失败。如果它根本没有部署,我不知道如何在第一时间得到响应。
猜你喜欢
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多