У меня есть приложение A, которое является клиентом JacORB, а приложение B - это сервер TAO.
Детали исполнения:
a) Appl A изначально создает объектную ссылку для серверного процесса (Appl B), используя свой corbaloc URL, и сохраняет эту ссылку на карте для последующего использования.
Это означает, что одна и та же ссылка на объект используется для всех вызовов corba в Appl B.
b) Приложение 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) В случае, если до истечения времени ожидания вышеупомянутого запроса, если тот же самый запрос снова сделан на сервере (использует тот же объект соединения), оба ответа получены, обработаны должным образом
Есть идеи, как поступить в этом случае?
Я предполагаю, что буфер сокетов ожидает сброса, поэтому он всегда работает во второй раз
Любая идея, как вызвать сброс на объект подключения?