【问题标题】:java.rmi.RemoteExeption: CORBA NO_RESPONSE root cause analysisjava.rmi.RemoteExeption:CORBA NO_RESPONSE 根本原因分析
【发布时间】:2019-03-29 06:19:00
【问题描述】:

我们在 WebSphere 8.5 上部署了一个 EJB 应用程序,我们在控制台上收到以下异常,

java.rmi.Exception:CORBA NO_RESPONSE 0x4942fb01 Maybe: nested exception is:
RESPONSE: Request 221370 timed out vmcid: IBM minor code: B01 Completed maybe

我还可以看到异常的根本原因如下:

caused by: org.omg.CORBA.NO_RESPONSE: Request timed out vmcid: B01 Completed maybe
at com.ibm.rmi.iiop.Connection.getCallStream(Connection.java:2493)

它的影响是最终用户无法连接到应用程序。

经过分析:我发现主要原因可能是连接池设置。 所以有人可以帮助我了解以下内容:

  • 上述异常的可能根本原因
  • 解决此异常的可能方法

【问题讨论】:

  • 你能粘贴完整的堆栈跟踪吗

标签: java ejb websphere rmi corba


【解决方案1】:

Request timed out表示EJB请求超时(默认180秒):https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/uorb_rsetg.html

这可能有很多原因,但总的来说,最好分析 EJB 后端服务的性能(例如垃圾收集、数据库导致的响应时间长等)。这是调查一般 WAS 性能问题的起点:https://publib.boulder.ibm.com/httpserv/cookbook/Recipes-WAS_Traditional_Recipes-General_WAS_Traditional_Performance_Problem.html

一个关键项目是第 8 步,它在问题期间收集线程转储和基本操作系统统计信息。如果您无法分析该数据,您可以使用该 MustGather 数据打开 IBM 支持请求。

【讨论】:

  • 增加 ORB 请求超时对我有用,谢谢。