在 WSO2 MI 7.0.0 中收到错误,服务器自动关闭

问题描述

收到以下共享的错误。谁能指导我解决方

提前致谢!

[2021-06-14 07:21:00,047] 错误 { org.apache.synapse.mediators.builtin.LogMediator} - ERROR_MESSAGE = 执行时出错调用操作,ERROR_CODE = 0,ERROR_DETAIL = org.apache.synapse.SynapseException:执行调用操作时出错 在 org.apache.synapse.mediators.builtin.CallMediator.handleFault(CallMediator.java:432) 在 org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:281) 在 org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:122) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71) 在 org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:133) 在 org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:148) 在 org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:84) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71) 在 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 在 org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:86) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:org.apache.synapse.SynapseException:发送消息时出现意外错误 在 org.apache.synapse.core.axis2.Axis2Sender.handleException(Axis2Sender.java:281) 在 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:91) 在 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:571) 在 org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:408) 在 org.apache.synapse.endpoints.HTTPEndpoint.send(HTTPEndpoint.java:96) 在 org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:278) ……还有 13 个 引起:java.lang.IllegalStateException:I/O反应器已关闭 在 org.apache.http.util.Asserts.check(Asserts.java:34) 在 org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.connect(DefaultConnectingIOReactor.java:225) 在 org.apache.synapse.transport.passthru.connections.TargetConnections.getConnection(TargetConnections.java:97) 在 org.apache.synapse.transport.passthru.DeliveryAgent.submit(DeliveryAgent.java:162) 在 org.apache.synapse.transport.passthru.PassthroughHttpSender.sendRequestContent(PassthroughHttpSender.java:407) 在 org.apache.synapse.transport.passthru.PassthroughHttpSender.invoke(PassthroughHttpSender.java:277) 在 org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) 在 org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicoperationClient.send(DynamicAxisOperation.java:185) 在 org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicoperationClient.executeImpl(DynamicAxisOperation.java:167) 在 org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) 在 org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:650) 在 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:85) ……还有 17 个

解决方法

根据上面的错误跟踪,I/O反应器已经关闭。当您尝试使用已关闭的 I/O 反应器发送消息时,您将收到类似于上述错误跟踪的错误。当I/O反应器关闭时,不重启MI服务器就无法恢复。关闭 I/O 反应器是一个关键问题,这通常不是由配置引起的,而是由一些环境因素引起的。

这可能是由于系统中打开的文件数量不足造成的。因此,请检查您是否已按照本documentation中给出的步骤来优化操作系统级别的性能?

此外,您可以使用以下命令检查当前 WSO2 进程允许的文件限制。

请替换为 wso2 进程 ID。

cat /proc/{PID}/limits

您可以使用以下命令检查用于运行 WSO2 EI 进程的用户的软文件和硬文件限制。

ulimit -Hn
ulimit -Sn