我有Appl A,它是JacORB客户端,Appl B是TAO服务器。
执行细节:
a)Appl A最初使用其corbaloc URL为服务器进程(Appl B)创建object_reference,并在地图中维护此引用以供后续使用。 这意味着相同的对象引用用于Appl B上的所有corba调用。
b)Appl A在如上创建的Appl B的缩小对象引用上调用库存方法。
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)如果在上述请求超时之前,如果在服务器上再次进行相同的查询(使用相同的连接对象),则会收到两个响应,并正确处理
知道如何处理这种情况吗? 我的猜测是套接字缓冲区正在等待刷新,这就是为什么它总是第二次工作 知道如何在连接对象上强制刷新吗?
答案 0 :(得分:0)
使用-ORBDebugLevel 10运行TAO端,并查看ORB作为消息打印的内容。您的TAO版本已经很老了,请查看TAO 2.0.3,您可以从http://download.dre.vanderbilt.edu
下载