Запуск клиента Java CORBA в Unix - PullRequest
1 голос
/ 17 апреля 2010

Я пытаюсь запустить приложение Java, которое я написал, чтобы подписаться на службу событий CORBA. Он работает нормально на моей машине с Windows, но как только я разверну его на сервере UNIX, он выдаст мне исключение org.omg.CORBA.NO_IMPLEMENT. Есть идеи, почему это может происходить? Я использую JacORB на своей машине с Windows и передаю аргументы VM для инициализации клиентского ORB, но я не уверен, как это сделать в UNIX и даже если это необходимо.

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 17 апреля 2010

JRE поставляется с полной реализацией Corba, и вам нужно указать ей игнорировать их и использовать JacOrb.

В Unix:

-Xbootclasspath:${JACORB_HOME}/lib/jacorb.jar:${JAVA_HOME}/jre/lib/rt.jar:${CLASSPATH} 
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

Посмотрите документы для JacORB Это очень хорошо объяснено. Вам нужно установить файлы jars и указать на ior или службу имен, переданную в вашу JVM.

Если ваш вопрос заключается в том, как сделать это в оболочке, прокомментируйте или перефразируйте вопрос.

0 голосов
/ 17 апреля 2010

Если версии различаются, возможно, вы не заметили изменения имен пакетов в JacORB 1.3.21, которые изменились с jacorb на org .jacorb

org.omg.CORBA.ORBClass=jacorb.orb.ORB
org.omg.CORBA.ORBSingletonClass=jacorb.orb.ORBSingleton

к этому:

org.omg.CORBA.ORBClass=org.jacorb.orb.ORB
org.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

Если это не причина, пожалуйста, напишите точные версии

0 голосов
/ 17 апреля 2010

Javadoc для org.omg.CORBA.NO_IMPLEMENTIMPLEMENT :

Это исключение указывает на то, что, хотя вызванная операция существует (она имеет определение IDL), реализации для этой операции не существует. NO_IMPLEMENT может, например, быть вызван ORB, если клиент запрашивает определение типа объекта из хранилища интерфейса, но ORB не предоставляет хранилище интерфейса.

Он содержит младший код, который дает более подробную информацию о том, что вызвало исключение, и статус завершения. Может также содержать строку, описывающую исключение

Так что, я думаю, вам нужно посмотреть, что именно говорит Исключение. Держу пари, что вам нужно добавить эти java-аргументы для инициализации клиента ORB.

...