Jboss EAP 7.1:奇怪' jboss EJBCLIENT000409:没有更多目的地可用'

时间:2018-04-11 19:26:56

标签: ejb

我是一名java EE开发人员,我正在尝试编译我的项目(包括三个EAR项目:服务,业务和Web。

EJB类位于Business容器中。然后我尝试使用Maven 3.3.3编译,我也尝试了其他版本,如3.5.3(jboss-as-maven-plugin)

<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.1.0.Final</version>

我收到了这个错误:

RequestSendFailedException
org.jboss.ejb.client.RequestSendFailedException: EJBCLIENT000409: No more destinations are available

2018-04-10 11:47:59,530 INFO [org.jboss.ejb.client] (default task-6) JBoss EJB Client version 4.0.9.Final-redhat-1
2018-04-10 11:47:59,623 INFO [stdout] (default task-6) default task-6:2018-04-10 11:47:59,608 [ERROR] [web.mbean.MentoTOBean] [System error, try again!]
2018-04-10 11:47:59,624 INFO [stdout] (default task-6) org.jboss.ejb.client.RequestSendFailedException: EJBCLIENT000409: No more destinations are available
2018-04-10 11:47:59,624 INFO [stdout] (default task-6) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:567)
2018-04-10 11:47:59,624 INFO [stdout] (default task-6) at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:503)
2018-04-10 11:47:59,624 INFO [stdout] (default task-6) at org.jboss.ejb.protocol.remote.RemotingEJBClientInterceptor.handleInvocationResult(RemotingEJBClientInterceptor.java:56)

到目前为止,我尝试了所有内容,而且我发现,至少EJB是以某种方式定位的,但是&#39; Bean&#39;为空:

WebEJBInterceptor: InterpcetorParameters [ type: interface web.service.MentoService, name: MentoService, serverName: MentoNegocio-server, authResolverClass:WebAuthenticationResolver]. Bean Scope: null

我的服务定位器没问题,因为之前有效:

    <?xml version="1.0" encoding="UTF-8" ?>
    <tpp:serviceLocator xmlns:tpp="http://www.mento.br/ns/javaee/ejb" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mento.br/ns/javaee/ejb serviceLocator.xsd">   

    <tpp:server name="SDC">
    <tpp:initialContextFactory>org.jboss.as.naming.InitialContextFactory</tpp:initialContextFactory>
    <tpp:providerUrl>remote://localhost:4447</dtp:providerUrl>
    <tpp:user>xxxxxxxxxxx</tpp:user>
    <tpp:password>xxxxxxxxx</tpp:password>
    </tpp:server>

    <tpp:service name="MentoNegocio-server" jndiPrefix="" jndiSuffix="">
       <tpp:preserveInitialContext>true</tpp:preserveInitialContext>
    </tpp:service>
</tpp:serviceLocator>

我使用的是Jboss EAP 7.1(之前在EAP 6.0中有效,但由于兼容性,系统现在使用7.0+)。

2 个答案:

答案 0 :(得分:0)

我最近遇到了同样的问题,经过这么多分析后,我能够找到解决方案。 这是详细信息: 在EAP 7.1上下文中更改了已修改的工厂数据     提供者URL:remote + http://:     JNDI ContextFactory:org.wildfly.naming.client.WildFlyInitialContextFactory 在EJB客户端中更改这两个,问题将得到解决。

答案 1 :(得分:0)

您是否有可能在客户端使用了过时的jboss-client-library,而现在这会导致错误? 可能从您的jboss服务器导入,例如:/app/jboss/jboss-eap-7.1.4/bin/client/jboss-client.jar到您的项目中。