我有一个应用程序A,它是JacORB客户端,而应用程序B是TAO服务器。
执行细节:
a)应用程序A最初使用其corbaloc URL为服务器进程(应用程序B)创建object_reference,并在映射中维护该引用以供随后使用。这意味着Appl B上的所有corba调用都使用相同的对象引用。
b) Appl A在上面创建的Appl B的缩小对象引用上调用inventory方法。
c)在服务器端(TAO),服务程序完成请求并发送响应。
d)过了很长一段时间(我想是在超时间隔之后),在Jacorb客户端我得到了一个异常:
org.omg.CORBA.COMM_FAILURE: vmcid: 0x0 minor code: 0 completed: Maybe
at org.jacorb.orb.giop.ReplyPlaceholder.getInputStream(ReplyPlaceholder.java:133)。e)在上述请求超时之前,如果再次在服务器上进行相同的查询(使用相同的连接对象),则两个响应都被正确地接收和处理
你知道在这种情况下该怎么处理吗?我的猜测是套接字缓冲区正在等待刷新,这就是为什么它总是在第二次工作的原因。有没有办法强制刷新连接对象?
发布于 2011-07-04 17:17:04
使用-ORBDebugLevel 10运行TAO端,查看ORB作为消息打印的内容。您的TAO版本太旧了,请检查TAO 2.0.3,您可以从http://download.dre.vanderbilt.edu下载它
https://stackoverflow.com/questions/6555839
复制相似问题