Java 如何在 WAS 7 中解决此超时异常
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23004900/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
how to resolve this Timeout exception in WAS 7
提问by Saravanan
I am getting below time out exception from my java program.
我的 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)
I observed that i have to increase the timout of the transaction. but i dont know my assumption is correct or not...
我观察到我必须增加交易的超时时间。但我不知道我的假设是否正确...
could you please guide me to take corrective action for this timeout exception...?
你能指导我对这个超时异常采取纠正措施吗......?
or do i need to take look on _ARFacade_Stub.java,AReceivableDelegate.java that are mentioned in the error log...
还是我需要查看错误日志中提到的 _ARFacade_Stub.java,AReceivableDelegate.java ......
回答by DanielBarbarian
The reason for exactly why your timeout is occurring is hard for us to do. You need to look at what is done in the transaction and see if something just takes a long time or too long. If it takes too long you need to see what goes wrong there, but that is hard for us to help you with given the above description. Especially look at if you are running out of resources and the thread that times out is waiting for that resource but is not able to get it for a long time or ever.
您的超时发生的确切原因对我们来说很难做到。您需要查看事务中完成的操作,看看某些事情是否需要很长时间或太长时间。如果时间太长,您需要查看那里出了什么问题,但鉴于上述描述,我们很难为您提供帮助。尤其要注意是否资源耗尽并且超时的线程正在等待该资源但很长时间或永远无法获得它。
It could also be the case that whatever you are doing is taking a long time and that is normal. According to your tags you are using WebSphere Portal and there are a lot of things that may take more than five minutes. If that is the case you can increase the transaction timeout values.
也可能是您所做的任何事情都需要很长时间,这是正常的。根据您的标签,您正在使用 WebSphere Portal,并且有很多事情可能需要超过五分钟。如果是这种情况,您可以增加事务超时值。
Here is how to change these values:
以下是更改这些值的方法:
- Log in to the administrative console.
- Navigate to the Transaction service panel.
- WebSphere Application Server 7.0: Click Servers > Server Types > WebSphere application servers > server_name > Container Services > Transaction Service.
- Increase the Total transaction lifetime timeout. The default value is 120.
- Increase the Maximum transaction timeout. The default value is 300 seconds.
- Stop and restart WebSphere Application Server.
- 登录到管理控制台。
- 导航到交易服务面板。
- WebSphere Application Server 7.0:单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > 容器服务 > 事务服务。
- 增加总事务生存期超时。默认值为 120。
- 增加最大事务超时。默认值为 300 秒。
- 停止并重新启动 WebSphere Application Server。
These steps are taken from IBM InfoCenter
这些步骤取自 IBM InfoCenter