ClassCastException ч / б IBMorb и jacorb jars в WAS 8.5.5
У меня есть приложение, которое использует jacorb.jar (org.omg.orb.ORB.class). При развертывании моего файла war в 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)
1 ответ
IBM не поддерживает сторонний ORB, поскольку он предоставляет собственный ORB. Вы можете найти orb.properties со свойствами по умолчанию в папке JAVA IBM JAVA. Если вы хотите добавить что-либо, связанное с ORB, о котором нужно сообщить JRE, мы можем добавить запись в эту папку свойств.
Я полностью удалил JacORB из своего кода и использовал IBM ORB. Они не будут проблемой, если вы скомпилируете свой код с помощью JacORB и будете использовать то же самое в веб-сфере IBM, так как структура пакета и сигнатура метода не изменятся. Я проверил это практически.
Обратитесь к этой теме для получения дополнительной информации о создании пространства имен corba и использовании его в коде. Если вы будете следовать им, вам не нужно добавлять jacorb jar в IBM websphere.