Совместимость Jacorb/Tao

У меня есть Appl A, который является клиентом JacORB, а Appl B является сервером TAO.

Детали исполнения:

a) Приложение A изначально создает объектную ссылку для серверного процесса (Appl B), используя свой URL-адрес corbaloc, и сохраняет эту ссылку на карте для последующего использования. Это означает, что одна и та же ссылка на объект используется для всех вызовов corba в приложении B.

b) Приложение A вызывает метод инвентаризации для суженной ссылки на объект Приложения 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) В случае, если до истечения срока действия вышеуказанного запроса, если тот же запрос снова выполняется на сервере (используется тот же объект соединения), оба ответа принимаются и обрабатываются должным образом.

Любая идея, как действовать в этом случае? Я предполагаю, что буфер сокета ожидает сброса, поэтому он всегда работает во второй раз. Любая идея, как принудительно сбросить объект подключения?


person user825866    schedule 02.07.2011    source источник


Ответы (1)


Запустите сторону TAO с параметром -ORBDebugLevel 10 и посмотрите, что ORB выводит в виде сообщений. Ваша версия TAO довольно старая, проверьте TAO 2.0.3, которую вы можете загрузить с http://download.dre.vanderbilt.edu

person Johnny Willemsen    schedule 04.07.2011