Java CORBA ORB и подключение к сторонней службе имен
Следующее из FAQ по JavaTM IDL:
Как мне подключиться к сторонней службе имен от Sun's ORB?
Рекомендуемый способ - использовать
Совместимая служба именования (INS)
, если эта опция поддерживается сторонней службой именования.
Чтобы использовать Sun ORB с Службой именования другого поставщика,
- Запустите сторонний сервер имен на хосте и порте.
Передайте следующий аргумент в ORB.init():
-ORBInitRef NameService=corbaloc:iiop:1.2@:/NameService
Когда вы делаете orb.resolve_initial_references( "NameService"), вы должны иметь возможность подключиться к сторонней службе имен. Если вы все еще не можете подключиться, попробуйте следующие советы по устранению неполадок:
Убедитесь, что сторонняя служба имен поддерживает INS.
Убедитесь, что информация о хосте и порте является точной.
Убедитесь, что сторонняя служба имен успешно запущена.
Убедитесь, что сторонняя служба имен поддерживает GIOP 1.2. Если нет, обратитесь к документации сервера имен, чтобы узнать правильную версию GIOP, и соответственно измените URL-адрес corbaloc:.
Определите, имеет ли сторонняя служба имен другой объектный ключ, который она использует для связи с NameService. Если это так, обратитесь к документации сервера имен.
Я новичок в CORBA, и я хотел бы знать, есть ли другой способ подключения к службе именования сторонних производителей, который не может быть так "рекомендован". В конце концов, как мне угадать, поддерживает ли пока еще неизвестная служба именования INS (Interoperable Naming Service). Но опять же, я упомянул, что я новичок в этих вещах...
1 ответ
Прошло уже более 10 счастливых лет с тех пор, как мне в последний раз навязали CORBA, но я до сих пор помню некоторые вещи.
"Не рекомендуется" использовать IOR (Interoperable Naming Reference), который является эквивалентом URL в CORBA. IOR, по сути, является строковым представлением местоположения живого объекта CORBA. Клиент может преобразовать IOR в дескриптор этого объекта.
Обычно сам IOR указывает на службу имен CoS, которая является реестром других объектов, но очень важно иметь IOR, который указывает непосредственно на удаленный объект.
Посмотрите эту древнюю статью (с 1999 года, когда в последний раз кто-то заботился о CORBA), чтобы узнать, как бороться с IOR.