0

从 jar 客户端调用 EJB 中分配的代码,在 EJB 内执行代码 30 分钟后,我收到超时:

com.sun.corba.ee.impl.transport.CorbaResponseWaitingRoomImpl waitForResponse
WARNING: "IOP00410219: (COMM_FAILURE) Communications timeout waiting for response.  Exceeded 1,800,000 milliseconds"
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 219 completed: Maybe
            at com.sun.corba.ee.impl.logging.ORBUtilSystemException.communicationsTimeoutWaitingForResponse(ORBUtilSystemException.java:3180)
            at com.sun.corba.ee.impl.logging.ORBUtilSystemException.communicationsTimeoutWaitingForResponse(ORBUtilSystemException.java:3195)
            at com.sun.corba.ee.impl.transport.CorbaResponseWaitingRoomImpl.waitForResponse(CorbaResponseWaitingRoomImpl.java:198)
            at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.waitForResponse(SocketOrChannelConnectionImpl.java:1196)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.waitForResponse(CorbaMessageMediatorImpl.java:291)
            at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete1(CorbaClientRequestDispatcherImpl.java:389)
            at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:357)
            at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:219)
            at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:192)
            at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
            at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)

    ...

    javax.ejb.EJBException: nested exception is: java.rmi.MarshalException: CORBA COMM_FAILURE 1398079707 Maybe; nested exception is: 
        org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 219 completed: Maybe
    java.rmi.MarshalException: CORBA COMM_FAILURE 1398079707 Maybe; nested exception is: 
        org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 219 completed: Maybe
        at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:271)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
        at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)

我正在使用 Glassfish 2.1、Java 1.6_20。例如,有没有办法将此超时定义为一小时?这是 Glassfish 依赖吗?一些配置可能?

提前谢谢你的帮助!问候。

4

1 回答 1

2

您可以尝试将属性添加到您的 URL,如下所示:

http://test.com/Client?prop= com.sun.corba.ee.transport.ORBWaitForResponseTimeout=7200000

您可以为本文中描述的 JVM 设置其他设置,但我不确定它们是否适用于您的 glassfish 版本。

于 2013-03-27T10:06:27.453 回答