我们有以下设置
使用单个消费者(线程),它工作正常。
当我们有10个并发消费者时。我们得到以下异常。仅当我们转储大约500条消息然后启动wso2 ESB服务器时才会出现此问题。
引起:org.apache.axiom.om.OMException:javax.xml.stream.XMLStreamException:[row,col]处的ParseError:[1,1] 消息:文件过早结束。 在org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296) 在org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109) 在org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570) 在org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566) at pil.pershing.transform.esb.mediator.TransformNewXmlMediator.mediate(TransformNewXmlMediator.java:60) 在org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:78) ......还有11个 引起:javax.xml.stream.XMLStreamException:[row,col]处的ParseError:[1,1] 消息:文件过早结束。 at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:588) at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225) 在org.apache.axiom.util.stax.dialect.SJSXPStreamReaderWrapper.next(SJSXPStreamReaderWrapper.java:138) 在org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681) 在org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214) ......还有16个
答案 0 :(得分:0)
听起来您正在使用自定义调解员" pil.pershing.transform.esb.mediator.TransformNewXmlMediator"。也许这个不是线程安全的:并发消费者呼叫"调解"在TransformNewXmlMediator的同一个实例上,验证您的代码是否可重入