这是一个奇怪的问题。 当我设置log4j.category.org.apache.synapse = DEBUG时,一切都很好。 当更改为log4j.category.org.apache.synapse = INFO时,同一代理服务失败。 这是我的配置: batchLoadDiagProxy
当日志级别为INFO时,我得到错误:
[2018-09-19 09:18:50,242] [EI-Core]警告-PassThroughHttpListener系统可能不稳定:HTTP ListeningIOReactor遇到已检查的异常:打开文件过多java.io.IOException:打开文件过多< br /> 在sun.nio.ch.ServerSocketChannelImpl.accept0(本机方法)
在sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
在sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
在org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvent(DefaultListeningIOReactor.java:170)
在org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvents(DefaultListeningIOReactor.java:153)
在org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:349)
在org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager $ 1.run(PassThroughListeningIOReactorManager.java:506)
在java.lang.Thread.run(Thread.java:745)
[2018-09-19 09:18:50,271] [EI-Core]错误-发送消息时发生Axis2Sender意外错误 java.lang.IllegalStateException:I / O反应器已关闭
答案 0 :(得分:0)
尝试打开命令行并以超级用户身份输入: ulimit -f 100000 这将延迟错误,但不会消除错误。问题是INFO将更多数据输出到不同的文件中。在打开下一个文件句柄之前,不会关闭每个文件句柄。这意味着操作系统很快就会用完文件句柄。
仅在需要调试时启用INFO。