2015-03-03 90 views
0

我有一个使用jacorb.jar(org.omg.orb.ORB.class)的应用程序。当我在WAS 8.5.5中部署我的war文件时,我得到了位于openJdk/jre/lib/ibmorb.jar文件中的ibmorb的classcast异常。任何人都可以帮助我使用jacorb.jar并解决错误。ClassCastException b/w Wors 8.5.5中的IBMorb和jacorb Jars

错误:

[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

你在哪里放置jacorb.jar? WebSphere Application Server不支持覆盖它提供的ORB。 – 2015-03-03 16:21:55

+0

嗨,谢谢你的回应。我通过管理控制台将Jacorb.jar文件保存在JVM类路径中。在我的应用程序中,必须使用jacorb.jar,而当前的任务是从jboss迁移到websphere。完全锁定在这个阶段,因为我所有的覆盖websphere的ORB的路径都失败了。 – 2015-03-03 18:10:33

回答

0

IBM不支持第三方ORB,因为它提供了自己的ORB。您可以在IBM JAVA jre文件夹中找到具有默认属性的orb.properties。如果您想添加任何与需要通知JRE的ORB相关的内容,我们可以在此属性文件夹中添加一个条目。

我已经完全从我的代码中删除了JacORB并使用了IBM ORB。如果您使用JacORB编译代码并在IBM Websphere中使用相同的代码,那么它们不会成为任何问题,因为程序包结构和方法签名不会更改。我已经对此进行了实际测试。

有关创建corba名称空间并在代码中使用它的更多信息,请参阅此主题。如果您遵循这些规则,则无需在IBM Websphere中添加jacorb jar。

Corba NameService configuration in Websphere 8.5.5