Mule错误,只有所有者线程可以写入消息仍然出现http模块

时间:2015-11-17 15:28:31

标签: java multithreading mule mule-component mule-cluster

我在生产群集Mule 3.6中遇到了下一个错误。它有时会在白天发生,但无法检测到原始原因。

  

2015-11-17 08:01:51519错误[org.mule.exception.DefaultSystemExceptionStrategy] - 异常策略中的捕获异常:只有所有者线程才能写入消息:Thread [[ComponentAA-PRD-v3.2.1.RELEASE ] .HTTP_Listener_Config.worker.130,5,main] / Thread [[ComponentAA-PRD-v3.2.1.RELEASE] .http.listener(9)SelectorRunner,5,main]   java.lang.IllegalStateException:只有所有者线程才能写入消息:Thread [[axcess-document-platform-PRD-v3.2.1.RELEASE] .HTTP_Listener_Config.worker.130,5,main] / Thread [[axcess-document- platform-PRD-v3.2.1.RELEASE] .http.listener(9)SelectorRunner,5,main]       在org.mule.DefaultMuleMessage.newException(DefaultMuleMessage.java:1665)〜[?:?]       在org.mule.DefaultMuleMessage.checkMutable(DefaultMuleMessage.java:1651)〜[?:?]       在org.mule.DefaultMuleMessage.assertAccess(DefaultMuleMessage.java:1580)〜[?:?]       在org.mule.DefaultMuleMessage.setExceptionPayload(DefaultMuleMessage.java:1003)〜[?:?]       在org.mule.exception.TemplateMessagingExceptionStrategy.handleException(TemplateMessagingExceptionStrategy.java:79)〜[?:?]       在org.mule.execution.AsyncResponseFlowProcessingPhase $ 3 $ 1.execute(AsyncResponseFlowProcessingPhase.java:105)〜[?:?]       在org.mule.execution.AsyncResponseFlowProcessingPhase.executeCallback(AsyncResponseFlowProcessingPhase.java:117)〜[?:?]       在org.mule.execution.AsyncResponseFlowProcessingPhase.access $ 000(AsyncResponseFlowProcessingPhase.java:23)〜[?:?]       在org.mule.execution.AsyncResponseFlowProcessingPhase $ 3.responseSentWithFailure(AsyncResponseFlowProcessingPhase.java:100)〜[?:?]       在org.mule.module.http.internal.listener.HttpMessageProcessorTemplate $ 1.responseSendFailure(HttpMessageProcessorTemplate.java:114)〜[?:?]       在org.mule.module.http.internal.listener.grizzly.ResponseCompletionHandler.failed(ResponseCompletionHandler.java:153)〜[?:?]       在org.glassfish.grizzly.asyncqueue.AsyncQueueRecord.notifyFailure(AsyncQueueRecord.java:110)〜[?:?]       在org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onWriteFailure(AbstractNIOAsyncQueueWriter.java:489)〜[?:?]       在org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.processAsync(AbstractNIOAsyncQueueWriter.java:400)〜[?:?]       在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:108)〜[?:?]       在org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)〜[?:?]       在org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)〜[?:?]       在org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)〜[?:?]       在org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.run0(ExecutorPerServerAddressIOStrategy.java:102)〜[?:?]       在org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.executeIoEvent(ExecutorPerServerAddressIOStrategy.java:75)〜[?:?]       在org.glassfish.grizzly.strategies.AbstractIOStrategy.executeIoEvent(AbstractIOStrategy.java:89)〜[?:?]       在org.glassfish.grizzly.nio.SelectorRunner.iterateKeyEvents(SelectorRunner.java:414)〜[?:?]       在org.glassfish.grizzly.nio.SelectorRunner.iterateKeys(SelectorRunner.java:383)〜[?:?]       在org.glassfish.grizzly.nio.SelectorRunner.doSelect(SelectorRunner.java:347)〜[?:?]       在org.glassfish.grizzly.nio.SelectorRunner.run(SelectorRunner.java:278)〜[?:?]       在org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:565)〜[?:?]       在org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:545)〜[?:?]       在java.lang.Thread.run(Thread.java:745)[?:1.7.0_80]

1 个答案:

答案 0 :(得分:0)

该问题报告为https://www.mulesoft.org/jira/browse/MULE-8961,自Mule 3.7.3和3.8.0起已解决。