Коллеги, есть такой вот код (http://pastebin.ca/673374)
при выполнении вылетает исключение
Exception in thread "main" org.omg.CORBA.TRANSIENT: Retries exceeded, couldn't reconnect to null vmcid: 0x0 minor code: 0 completed: No
at org.jacorb.orb.iiop.ClientIIOPConnection.connect(ClientIIOPConnection.java:232)
at org.jacorb.orb.giop.GIOPConnection.sendMessage(GIOPConnection.java:934)
at org.jacorb.orb.giop.GIOPConnection.sendRequest(GIOPConnection.java:900)
at org.jacorb.orb.giop.ClientConnection.sendRequest(ClientConnection.java:323)
at org.jacorb.orb.giop.ClientConnection.sendRequest(ClientConnection.java:304)
at org.jacorb.orb.Delegate.invoke_internal(Delegate.java:1024)
at org.jacorb.orb.Delegate.invoke(Delegate.java:939)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
at ttk_billing._InpeerStub.GetPeersCount(_InpeerStub.java:506)
at javacorba.Main.main(Main.java:93)
Java Result: 1
Погугли ничего подобного не нашёл((((
Ноги у проблемы ростут вот отсюда
nc.resolve(name)->Inherited->_delegate->connection = null
Кто-нибудь сталкивался????Подскажите варианты решения плиз
Здравствуйте, Аноним, Вы писали:
А>Exception in thread "main" org.omg.CORBA.TRANSIENT: Retries exceeded, couldn't reconnect to null vmcid: 0x0 minor code: 0 completed: No
клиентская сторона смогла получить IOR и даже корректно его прикастить, но при первом вызове [at javacorba.Main.main(Main.java:93)] выявились проблемы сетевого взаимодействия
фактически, на стороне клиента нет информации — дошёл запрос до объекта-сервера или нет
А>Ноги у проблемы ростут вот отсюда А>nc.resolve(name)->Inherited->_delegate->connection = null
откуда такая уверенность?
насколько я понимаю, naming service просто возвращает IOR — без установки соединения или проверки, что объект доступен со стороны клиента
в общем случае, клиент, получивший IOR, может не иметь даже доступа на хост с серверным объектом, но выявляется это, как правило, только при попытке первого обращения
реально я бы посоветовал:
1) убедиться, что серверный объект живёт и дышит
2) убедиться, что IOR, полученный из ns, соответствует этому объекту
3) взять в руки сниффер, чтобы потрейсить сетевую активность клиента
C0s>реально я бы посоветовал: C0s>1) убедиться, что серверный объект живёт и дышит C0s>2) убедиться, что IOR, полученный из ns, соответствует этому объекту C0s>3) взять в руки сниффер, чтобы потрейсить сетевую активность клиента
Серверный объект живёт, тестил другой софтиной(тоже коннектится к этой корбе и выполняет те же функции)
Сниффер говорит следующее
No. Time Source Destination Protocol Info
5 7.377105 192.168.1.20 192.168.1.144 GIOP GIOP 1.0 Request 0 (two-way): _is_a
Здравствуйте, bitchiness_Rabbit, Вы писали:
_R>Сниффер говорит следующее _R>Frame 5 (189 bytes on wire, 189 bytes captured) _R>Frame 7 (79 bytes on wire, 79 bytes captured) _R>Frame 8 (157 bytes on wire, 157 bytes captured) _R>Frame 9 (238 bytes on wire, 238 bytes captured)
эти фреймы не интересны, но полезны
они показывают, что сама по себе инфраструктура CORBA работает нормально — NameService доступен (192.168.1.144:2809) и вполне так себе отвечает на запросы
_R> IOR _R> String Length: 27 _R> IOR::type_id: IDL:ttk_billing/Inpeer:1.0 _R> <...> _R> IIOP::Profile_host: 192.168.1.144 _R> IIOP::Profile_port: 5556 _R> <...>
вот в 9-м фрейме NS ответил IOR'ом, в частности, как я понимаю, в IOR'е написано, что POA живёт на 192.168.1.144:5556 [надо, конечно, признанться, что я уже давно с такими вещами не работал ]
на этот порт телнет проходит с хоста 192.168.1.20?
_R>убедиться, что IOR, полученный из ns, соответствует этому объекту _R>Я честно говоря не знаю как это сделать
объект развёрнут в одном экзмепляре? (в смысле, есть ли round-robin по разным POA или нет)
наверное, надо попытаться посниффать, как тестовая софтина обращается к этому объекту. там будет видно, тот ли IIOP:profile будет и проч.
потом, по сниффу активности неработающего алгоритма надо проанализировать, что было дальше — он пытался законнектиться на 192.168.1.144:5556 (или ещё куда-нибудь)?
Здравствуйте, C0s
Телнет проходит с хоста.
Объект развёрнут в 1 экземпляре.
Снифф из тестовой софтины:
No. Time Source Destination Protocol Info
9 7.399277 192.168.1.144 192.168.1.20 GIOP GIOP 1.0 Reply 2: No Exception
А неработающий алгоритм не пытался не чего сделать после последнего фрейма
Всё таки дело наверное в получении объекта....
Пытался подставить делегат из друго объекта, получаемого при получении сервиса имён, так вот он пытается запросить выполнение функции, но из орб сервера возвращается эксепшн.