当前位置: 首页 > 面试题库 >

Wildfly10-EJB远程客户端-无响应

蒋茂
2023-03-14
问题内容

我目前正在将代码从Jboss7迁移到Wildfly10。
服务器本身完全可以启动。当尝试将我们的客户端与正在运行的新wildfly10服务器进行ejb-remote调用连接时,它将无法正常工作。
我唯一要使用的是以下错误:

org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector
setupEJBReceivers警告:无法注册EJB接收器以连接到远程IP:8080
java.lang.RuntimeException:操作失败,并且在org.jboss.ejb.client.remoting的状态为WAITING。
org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:80)上的IoFutureHelper.get(IoFutureHelper.java:94)在org.jboss.ejb.client.remoting.RemotingConnectionManager.getConnection(RemotingConnectionManager.java:
51),位于org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.getCurrent(ConfigBasedEJBClientj.s.org.j:bos.org:
.client.remoting.ConfigBasedEJBClientContextSelector。org.jboss.ejb.client.EJBClientContext.getCurrent(EJBClientContext.java:281)上的org.jboss.ejb.client.EJBClientContext.requireCurrent(EJBClientContext.java:291)上的getCurrent(ConfigBasedEJBClientContextSelector.java:47)
org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)(位于com.sun.proxy。$
Proxy2.connect(未知源)处的.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)
de.cinovo.rcp.test.RemoteEJBClient.main(RemoteEJBClient.java:25)上的de.cinovo.rcp.test.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:39)291)在org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)在org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)在com.sun.proxy。$
Proxy2。在de.cinovo.rcp.test.RemoteEJBClient.main(RemoteEJBClient.java:25)处的de.cinovo.rcp.test.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:39)处的connect(未知源)291)在org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)在org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)在com.sun.proxy。$
Proxy2。在de.cinovo.rcp.test.RemoteEJBClient.main(RemoteEJBClient.java:25)处的de.cinovo.rcp.test.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:39)处的connect(未知源)

线程“主”中的异常java.lang.IllegalStateException:EJBCLIENT000025:没有可用的EJB接收器来处理[appName:de.cinovo.tcc.server-
ear,moduleName:de-cinovo-tcc-server-ejb-6.0-SNAPSHOT,distinctName
:]组合调用上下文org.jboss.ejb.client.EJBClientInvocationContext@180542f在org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:798)在org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor
org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)处的org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)处的.java:128)org.jboss.ejb。
org.jboss.ejb.client上的client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)。org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)处com.sun.proxy。$
Proxy2.connect(未知源)处的org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
.test.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:39)位于de.cinovo.rcp.test.RemoteEJBClient.main(RemoteEJBClient.java:25)

尝试连接时,服务器日志中没有错误,警告,信息或任何内容。
在呼叫尝试期间进行监视时,通过tcp在端口上有一些操作。

真正有趣的部分是:
如果我在本地计算机上使用相同的wildfly设置,则完全相同的连接方法有效,但仅当localhost用作内的ip地址时jboss-ejb- client.properties。一旦我将ip更改为127.0.0.1或当前的IP地址,它将失败,并出现与上述相同的错误。

相关信息:

  • Wildfly将在端口8080上响应telnet
  • Wildfly是唯一在8080上监听的服务
  • 我的/ etc / hosts配置正确
  • 更改端口不能解决问题
  • Wildfly版本10.1.0.Final
  • 我的相关零件 standalone.xml

    <subsystem xmlns="urn:jboss:domain:remoting:3.0">
    <endpoint/>
    <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
    


问题答案:

因此,对于感兴趣的每个人,这是我的问题的解决方案:根据史蒂夫C的[评论和朋友的帮助,我们发现问题不是基于服务器的。

看起来,一旦与Wildfly
/服务器进行HTTP升级协商,就会有一些防病毒程序对您的HTTP消息起作用。他们似乎在操纵已发送/已接收的程序包,这导致客户端出现问题,因为它不再能够理解答案。因此,它永远不会做出反应,因为软件包似乎已经丢失了,因此IoFuture找不到异常和EJB接收器。

长话短说:从我们的系统(在我们的例子中为Bitdefender)中删除防病毒程序会导致一切正常工作…



 类似资料:
  • 我目前正在将我们的代码从Jboss7迁移到Wildfly10。 服务器本身启动完全正常。当尝试将我们的客户端与正在工作的新Wildfly10服务器连接以进行ejb远程调用时,它就是不起作用。 我唯一可以处理的是以下错误: 组织。jboss。ejb。客户远程处理。ConfigBasedEJBClientContextSelector setupEJBReceivers警告:无法注册EJB接收器以连接

  • 我试图使用JBoss7.1.1中的JNDI从远程客户端调用,但我得到了一个异常: 我使用的是jboss的安全机制,并且我已经通过add-user.bat添加了用户,还有带有用户名和密码的jboss-ejb-client.properties文件,但仍然会得到异常。我遵循了链接的示例集:使用JNDI从远程客户端进行EJB调用,当我不使用安全机制时也是如此,但是当我使用安全机制时,就会出现错误 你错过

  • 我有一个无状态bean 我已经在带有@remote注释的界面的glassfish上部署了这个功能 客户端代码: 错误为:java.lang.NullPointerException(位于com.sun.Enterprise.Naming.Impl.SerialContext.GetOrb(位于com.sun.Enterprise.Naming.Impl.SerialContext.GetProvi

  • 我目前正在努力让远程EJB调用在wildfly(8.x和9.x)上工作。 详细来说,它是关于使用EJB客户机API方法从独立的客户机应用程序(而不是从另一个应用程序服务器)进行远程调用。远程命名方法适合我,但不适用于我的场景,因为我需要使用客户端拦截器将上下文数据传递给服务器端拦截器进行远程调用。 但是现在,为了一个简单的示例,我尝试使用客户机API进行远程调用。因此,我尝试了用于远程ejb调用的

  • 问题内容: 根据EJB客户端应用程序上的Netbeans教程,我似乎无法调用该方法: 编译错误: 客户: ejb: 远程接口: 现在,如果接口被修改: Bean现在可以使用以下方法: 但是,有一个NPE: 如何正确调用该方法?EJB未实例化? 问题答案: 我从头开始。我能想到的唯一区别是,我没有创建EJB应用程序,而是为bean创建了EJB模块。否则,我认为是相同的。 结构体: 客户代码: 豆:

  • 我正在为运行在JBoss AS EAP6.2中的EJB编写一个远程客户端。按照“7.5.1节”中的说明。在"JBoss EAP 6.2开发指南"中使用JNDI远程调用会话Bean,如果我使用JNDI名称,我可以访问EJB上的方法