我的java程序超出了超时时间。
[4/10/14 6:27:02:859 CDT] 00000004 TimeoutManage I WTRN0006W: Transaction 000001454B5F86E80000000100007366C376DBAB11CE46C9F72BF0EF6B270F9458C6856F000001454B5F86E80000000100007366C376DBAB11CE46C9F72BF0EF6B270F9458C6856F00000001 has timed out after 300 seconds.
[4/10/14 6:27:02:862 CDT] 00000004 TimeoutManage I WTRN0124I: When the timeout occurred the thread with which the transaction is, or was most recently, associated was Thread[ORB.thread.pool : 3,5,main]. The stack trace of this thread when the timeout occurred was:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:196)
com.ibm.rmi.iiop.OutCallDesc.waitForResponse(OutCallDesc.java:58)
com.ibm.rmi.iiop.Connection.getCallStream(Connection.java:2341)
com.ibm.rmi.iiop.Connection.send(Connection.java:2295)
com.ibm.rmi.iiop.ClientRequestImpl.invoke(ClientRequestImpl.java:338)
com.ibm.rmi.corba.ClientDelegate.invoke(ClientDelegate.java:424)
com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1122)
com.ibm.rmi.corba.ClientDelegate.invoke(ClientDelegate.java:708)
com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1152)
org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:484)
com.facade._ARFacade_Stub.getLetter(_ARFacade_Stub.java:1109)
com.delegate.ARDelegate.getLetter(ARDelegate.java:730)
com.impl.ARImpl.invokeAR(ARImpl.java:360)
我发现我必须增加交易的时间。但我不知道我的假设是否正确......
你可以指导我对这个超时异常采取纠正措施......?
或者我需要查看错误日志中提到的_ARFacade_Stub.java,AReceivableDelegate.java ...
答案 0 :(得分:3)
确切地说你的超时发生的原因我们很难做到。您需要查看事务中的操作,看看是否需要花费很长时间或者太长时间。如果花了太长时间你需要看看那里出了什么问题,但鉴于上述说明,我们很难帮助你。特别要注意的是,如果资源不足,那么超时的线程正在等待该资源但是无法长时间或以后获取它。
也可能是这样的情况,无论你做什么都需要很长时间,这是正常的。根据您的标签,您正在使用WebSphere Portal,并且有很多事情可能需要超过五分钟。如果是这种情况,您可以增加事务超时值。
以下是更改这些值的方法:
这些步骤取自IBM InfoCenter