ClassCastException ч/б баночки IBMorb и jacorb в WAS 8.5.5

У меня есть приложение, использующее jacorb.jar (org.omg.orb.ORB.class). Когда я развертываю свой военный файл в WAS 8.5.5, я получаю исключения classcast с ibmorb, расположенным в файле openJdk/jre/lib/ibmorb.jar. Может ли кто-нибудь помочь мне в использовании jacorb.jar и устранении ошибок.

Ошибка:

[3/3/15 5:30:51:863 PST] 00000001 ActivityServi E   WACT0001E: The method pre_init(ORBInitInfo) in class com.ibm.ws.activity.remote.cos.ActivityServiceClientInterceptor received an unexpected exception; 
the exception stack trace follows: java.lang.ClassCastException: org.jacorb.orb.portableInterceptor.ORBInitInfoImpl incompatible with com.ibm.CORBA.iiop.ExtendedORBInitInfo
at com.ibm.ws.activity.remote.cos.ActivityServiceClientInterceptor.pre_init(ActivityServiceClientInterceptor.java:219)
at org.jacorb.orb.ORB.interceptorPreInit(Unknown Source)
at org.jacorb.orb.ORB.internalInit(Unknown Source)
at org.jacorb.orb.ORB.set_parameters(Unknown Source)
at org.omg.CORBA.ORB.init(ORB.java:371)

Caused by: java.lang.ClassCastException: org.jacorb.orb.ORB incompatible with com.ibm.CORBA.iiop.ORB
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:92)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)

person Kosuri Naresh    schedule 03.03.2015    source источник
comment
Где вы разместили jacorb.jar? WebSphere Application Server не поддерживает переопределение предоставляемого им ORB.   -  person Brett Kail    schedule 03.03.2015
comment
Привет, спасибо за ваш ответ. Я сохранил файл jacorb.jar в пути к классам JVM через консоль администратора. В моем приложении обязательно использовать jacorb.jar, и текущая задача — перейти на веб-сферу с jboss. На данном этапе полностью заблокирован, так как все мои попытки переопределить ORB веб-сферы не увенчались успехом.   -  person Kosuri Naresh    schedule 03.03.2015


Ответы (1)


IBM не поддерживает сторонние ORB, поскольку предоставляет свои собственные ORB. Вы можете найти orb.properties со свойствами по умолчанию в папке IBM JAVA jre. Если вы хотите добавить что-либо, связанное с ORB, о котором необходимо сообщить JRE, мы можем добавить запись в эту папку свойств.

Я полностью удалил JacORB из своего кода и использовал IBM ORB. Они не будут проблемой, если вы скомпилируете свой код с помощью JacORB и будете использовать его в веб-сфере IBM, поскольку структура пакета и сигнатура метода не изменятся. Я проверил это практически.

Обратитесь к этой теме для получения дополнительной информации о создании пространства имен corba и его использовании в коде. Если вы будете следовать им, вам не нужно будет добавлять банки jacorb в веб-сферу IBM.

Конфигурация Corba NameService в Websphere 8.5.5

person Kosuri Naresh    schedule 13.04.2015