首页 > 解决方案 > WSO2 MI 7.0.0 中收到错误,服务器自动关闭

问题描述

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

提前致谢!

[2021-06-14 07:21:00,047] ERROR {​​​​​​​org.apache.synapse.mediators.builtin.LogMediator}​​​​​​​​ - ERROR_MESSAGE = 执行调用操作时出错, ERROR_CODE = 0,ERROR_DETAIL = org.apache.synapse.SynapseException:在 org.apache.synapse.mediators 的 org.apache.synapse.mediators.builtin.CallMediator.handleFault(CallMediator.java:432) 执行调用操作时出错。 builtin.CallMediator.handleNonBlockingCall(CallMediator.java:281) at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:122) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java: 109) 在 org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:133) 在 org.apache.synapse.mediators 的 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71) 。模板。InvokeMediator.mediate(InvokeMediator.java:148) at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:84) at 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章.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 reactor 已在 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。在 org.apache.synapse.transport.passthru.PassThroughHttpSender.sendRequestContent(PassThroughHttpSender.java:407) 提交(DeliveryAgent.java:162)在 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 更多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) at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:650) at org.apache.synapse.core.axis2.Axis2Sender.sendOn (Axis2Sender.java:85) ... 17 更多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) at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:650) at org.apache.synapse.core.axis2.Axis2Sender.sendOn (Axis2Sender.java:85) ... 17 更多在 org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) 在 org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) 调用(PassThroughHttpSender.java:277)在 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 更多在 org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) 在 org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) 调用(PassThroughHttpSender.java:277)在 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 更多DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java: 650) 在 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:85) ... 还有 17 个DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java: 650) 在 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:85) ... 还有 17 个

标签: wso2wso2esbwso2eiwso2mi

解决方案


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

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

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

请替换为 wso2 进程 ID。

cat /proc/{PID}/limits

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

ulimit -Hn
ulimit -Sn

推荐阅读