Esper:如何修复核心Esper引擎中的错误java.util.ConcurrentModificationException?
当使用Esper时,我得到了这个错误 原因可能是什么Esper:如何修复核心Esper引擎中的错误java.util.ConcurrentModificationException?,java,esper,Java,Esper,当使用Esper时,我得到了这个错误 原因可能是什么 2017-02-05 15:51:59,781 [...] ERROR com.espertech.esper.core.service.ExceptionHandlingService - Exception encountered processing statement '...' statement text 'INSERT INTO Window SELECT * FROM TableWithJoins W
2017-02-05 15:51:59,781 [...] ERROR com.espertech.esper.core.service.ExceptionHandlingService - Exception encountered processing statement '...' statement text 'INSERT INTO Window
SELECT *
FROM TableWithJoins
WHERE test=3
ORDER BY (Math.abs(Total)) DESC
LIMIT 10' : null
java.util.ConcurrentModificationException
at java.util.ArrayDeque$DeqIterator.next(ArrayDeque.java:643)
at com.espertech.esper.event.EventBeanUtility.flatten(EventBeanUtility.java:186)
at com.espertech.esper.collection.FlushedEventBuffer.getAndFlush(FlushedEventBuffer.java:41)
at com.espertech.esper.view.internal.SingleStreamDispatchView.execute(SingleStreamDispatchView.java:56)
at com.espertech.esper.core.context.util.EPStatementAgentInstanceHandle.internalDispatch(EPStatementAgentInstanceHandle.java:127)
at com.espertech.esper.epl.named.NamedWindowServiceImpl.processHandle(NamedWindowServiceImpl.java:468)
at com.espertech.esper.epl.named.NamedWindowServiceImpl.processDispatches(NamedWindowServiceImpl.java:247)
at com.espertech.esper.epl.named.NamedWindowServiceImpl.dispatch(NamedWindowServiceImpl.java:214)
at com.espertech.esper.core.service.EPRuntimeImpl.processThreadWorkQueueFront(EPRuntimeImpl.java:858)
at com.espertech.esper.core.service.EPRuntimeImpl.processThreadWorkQueue(EPRuntimeImpl.java:810)
at com.espertech.esper.core.service.EPRuntimeImpl.processWrappedEvent(EPRuntimeImpl.java:500)
at com.espertech.esper.event.EventSenderBean.sendEvent(EventSenderBean.java:84)
我使用的是
ESPERV5.2
此问题可能是由前面的insert
语句中的联接引起的
要修复此问题,请将undirectional
添加到join语句之一
这样做的原因是,如果Esper中有join语句,则来自任何join子句的任何传入事件都可以触发更新。通过添加“单向”,这意味着只有一个线程将事件推送到下游,而不是两个,从而解决了任何线程问题
此问题可能已在Esper的后续版本中修复。注意:此问题正式标记为“分享您的知识,问答风格”。如果您正在考虑向下投票,请考虑这一点。当前版本为6.1注:此问题正式标记为“分享您的知识,问答风格”。如果你正在考虑否决投票,请考虑这一点。