我有一个使用jacorb.jar(org.omg.orb.ORB.class)的应用程序。当我在WAS 8.5.5中部署war文件时,我正在使用位于openJdk / jre / lib / ibmorb.jar文件的ibmorb获得classcast异常。任何人都可以帮我使用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)
答案 0 :(得分:0)
IBM不支持第三方ORB,因为它提供了自己的ORB。您可以在IBM JAVA jre文件夹中找到具有默认属性的orb.properties。如果要添加与ORB相关的任何需要通知JRE的内容,我们可以在此属性文件夹中添加一个条目。
我已从代码中完全删除了JacORB并使用了IBM ORB。如果使用JacORB编译代码并在IBM websphere中使用相同的代码,并且包结构和方法签名不会更改,则它们不会有任何问题。我几乎已经测试了这个。
有关创建corba名称空间并在代码中使用它的更多信息,请参阅此主题。如果您遵循这些,您将不需要在IBM websphere中添加jacorb jar。