EJB调用是成功的,如果它部署在本地计算机中。如果远程jboss机器调用它,则抛出以下异常
Exchange-exception :java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:ejbmavendemo-0.0.1-SNAPSHOT, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@43a094bf
at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:747)
at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)
camel-context.xml中使用的配置如下所示
click on this link to view the xml details
不确定,缺少什么。请建议
答案 0 :(得分:0)
它可能有几个问题:
EJBClientContext将所有可用的接收器保留在服务器名称为密钥的Map中。如果有多个具有相同名称的服务器,则这些条目将丢失。
如果它位于服务器实例内部,则首选此实例,并隐藏具有相同服务器名称的所有其他实例。 在这种情况下,不会访问只有在这样的服务器上可用的EJB。
JBoss维护与其他服务器的持久连接,因此当客户端看到此消息时,这意味着没有连接到您尝试调用的ejb的服务器,因此当连接失败时将记录一条消息另一台服务器。