我们在WebSphere 6.1上运行了一个负载很重的EJB应用程序。最近,我们遇到了很多连接问题,客户端应用程序(独立的Java应用程序)在下面获得了异常,并且请求未完成。服务器启动并运行,ping很好,其他客户端可以连接和发送请求,因此它不是连接问题。我们无法在测试服务器上重现此问题。有谁可以请帮助我们找出导致这个问题的原因?我们缺少一些WebSphere配置参数吗?
编辑我们还发现,在服务器发出此异常的时候,我们也无法在该端口上进行telnet。那么这意味着我们的服务器端ORB无法正常工作?
谢谢。
Caused by: java.rmi.MarshalException: CORBA MARSHAL 1229125820 No; nested exception is:
org.omg.CORBA.MARSHAL: Error sending fragment vmcid: IBM minor code: 8BC completed: No
at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:197)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:67)
at com.xyz.facade.ejb.api.remote._FnoDataFacadeRemote_Stub.findDocs(_FnoDataFacadeRemote_Stub.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.xyz.app.util.locator.RemoteServiceInterceptor$1.call(RemoteServiceInterceptor.java:200)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.omg.CORBA.MARSHAL: Error sending fragment vmcid: IBM minor code: 8BC completed: No
at com.ibm.rmi.iiop.IIOPOutputStream.sendFragment(IIOPOutputStream.java:196)
at com.ibm.rmi.iiop.CDROutputStream.completeFragment(CDROutputStream.java:666)
at com.ibm.rmi.iiop.CDROutputStream.alignAndReserve(CDROutputStream.java:643)
at com.ibm.rmi.iiop.CDROutputStream.writeOctetArrayPiece(CDROutputStream.java:1100)
at com.ibm.rmi.iiop.CDROutputStream.write_octet_array(CDROutputStream.java:1076)
at com.ibm.rmi.iiop.CDROutputStream.writeRepositoryId(CDROutputStream.java:2445)
at com.ibm.rmi.iiop.CDROutputStream.writeString(CDROutputStream.java:2737)
at com.ibm.rmi.iiop.CDROutputStream.fast_write_value_internal(CDROutputStream.java:1580)
at com.ibm.rmi.iiop.CDROutputStream.fast_write_value(CDROutputStream.java:1623)
at com.ibm.rmi.iiop.CDROutputStream.fast_write_value(CDROutputStream.java:1554)
at com.ibm.rmi.io.IIOPOutputStream.writeValueType(IIOPOutputStream.java:1142)
at com.ibm.rmi.io.IIOPOutputStream.writeObjectField(IIOPOutputStream.java:1090)
at com.ibm.rmi.io.IIOPOutputStream.outputClassFields(IIOPOutputStream.java:1021)
at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:1005)
at com.ibm.rmi.io.IIOPOutputStream.writeSerializable(IIOPOutputStream.java:1050)
at com.ibm.rmi.io.IIOPOutputStream.simpleWriteObjectInternal(IIOPOutputStream.java:427)
at com.ibm.rmi.io.IIOPOutputStream.simpleWriteObjectLoop(IIOPOutputStream.java:455)
at com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:512)
at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:159)
at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1502)
at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1522)
at com.ibm.rmi.iiop.ClientRequestImpl.write_value(ClientRequestImpl.java:857)
... 11 more
答案 0 :(得分:2)
启用ORBRas = all trace string并重现问题。 trace.log应该包含异常的根本原因。我的猜测可能是网络I / O错误或产品缺陷。
答案 1 :(得分:0)
使用JacORB作为客户端ORB是一种选择吗?