java - 如何解决 WAS 7 中的超时异常

标签 java jakarta-ee websphere-7 corba timeoutexception

我的 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...

最佳答案

我们很难找出您超时的确切原因。您需要查看事务中完成的操作,看看是否有事情需要很长时间或太长时间。如果花费的时间太长,您需要查看那里出了什么问题,但鉴于上述描述,我们很难帮助您。尤其要注意您是否用完了资源,并且超时的线程正在等待该资源,但长时间或永远都无法获得它。

也可能是无论您做什么都需要很长时间,这很正常。根据您的标记,您正在使用 WebSphere Portal,并且有很多事情可能需要五分钟以上的时间。如果是这种情况,您可以增加事务超时值。

以下是更改这些值的方法:

  1. 登录到管理控制台。
  2. 导航到交易服务面板。
  3. WebSphere Application Server 7.0:单击“服务器”>“服务器类型”>“WebSphere 应用程序服务器”>“服务器名称”>“容器服务”>“事务服务”。
  4. 增加总事务生命周期超时。默认值为 120。
  5. 增加最大事务超时。默认值为 300 秒。
  6. 停止并重新启动 WebSphere Application Server。

这些步骤取自 IBM InfoCenter

关于java - 如何解决 WAS 7 中的超时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23004900/

相关文章:

java - 如何使 Java Web 应用程序完全无状态

websphere-7 - 线程 "WebContainer : 0"(00000029)已经活跃了647279毫秒,可能挂了

java - 我重复收到 "Authentication did not succeed for user ID"20 次

java - 基本身份验证在 WebSphere 7 上不起作用

java - Eclipse 将错误添加到 "Problems"选项卡

java - 迁移到 New Places SDK 客户端不起作用

java - CI环境下Maven测试本地运行失败

linux - 部署 Java EE 应用程序的变音符号

java - 在 Jenkins 构建中使用 ssehexec 任务不会停止其执行

xml - 实体被引用但未声明