JasperReports中的java.util.ConcurrentModificationException

JasperReports中的java.util.ConcurrentModificationException,java,concurrency,jasper-reports,Java,Concurrency,Jasper Reports,我们在Windows上部署了一个web应用程序到WebSphere6.1.0.19。我们偶尔会在一些报告中看到这种ConcurrentModificationException。我们正在生产中使用JasperReports 2.0.5。完整的堆栈跟踪如下所示: java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:

我们在Windows上部署了一个web应用程序到WebSphere6.1.0.19。我们偶尔会在一些报告中看到这种ConcurrentModificationException。我们正在生产中使用JasperReports 2.0.5。完整的堆栈跟踪如下所示:

java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:464) at java.util.AbstractList$Itr.next(AbstractList.java:435) at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.next(JRBeanCollectionDataSource.java:91) at com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportDataSourceImpl.next(MedicalReportDataSourceImpl.java:61) at net.sf.jasperreports.engine.fill.JRFillDataset.advanceDataSource(JRFillDataset.java:830) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:748) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1438) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:895) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:817) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601) at com.advtechgrp.bop.medical.reports.core.MedicalReportBase.getReportList(MedicalReportBase.java:160) at com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createJasperExporter(MedicalReportCreator.java:275) at com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createExporter(MedicalReportCreator.java:228) at com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createReportUnsafe(MedicalReportCreator.java:196) at com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createReport(MedicalReportCreator.java:80) at com.advtechgrp.bop.medical.reports.core.web.MedicalReportServlet.doPost(MedicalReportServlet.java:132) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:282) at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:459) at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:265) at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:262) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1075) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1016) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:546) at com.ibm.ws.wswebcontainerservlet.ServletWrapper.handleRequest(ServletWrapper.java:478) at com.ibmws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:321) at com.advtechgrp.bop.medical.web.filter.UrlRewritingFilter.doFilter(UrlRewritingFilter.java:132) at com.ibm.ws.webcontainer.filterFilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.advtechgrp.bop.medical.web.filter.GZIPFilter.doFilter(GZIPFilter.java:36) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.advtechgrp.bop.medical.web.filter.WebLogFilter.doFilter(WebLogFilter.java:69) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.advtechgrp.bop.medical.web.filter.SecurityFilter.doFilter(SecurityFilter.java:174) at com.ibm.ws.webcontainerfilter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:546) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744) at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455) at com.ibmws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:115) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743) at com.ibmio.async.ResultHandler$2.run(ResultHandler.java:873) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473) java.util.ConcurrentModificationException 在java.util.AbstractList$Itr.checkForComodification(AbstractList.java:464) 位于java.util.AbstractList$Itr.next(AbstractList.java:435) 位于net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.next(JRBeanCollectionDataSource.java:91) 位于com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportDataSourceImpl.next(MedicalReportDataSourceImpl.java:61) 位于net.sf.jasperreports.engine.fill.JRFillDataset.AdvancedDataSource(JRFillDataset.java:830) 位于net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:748) 位于net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1438) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111) net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:895)net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:817) 位于net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89) 位于net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601) 在com.advtechgrp.bop.medical.reports.core.MedicalReportBase.getReportList(MedicalReportBase.java:160)上 在com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createjaspeexporter(MedicalReportCreator.java:275)上 位于com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createExporter(MedicalReportCreator.java:228) 位于com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createreportsafe(MedicalReportCreator.java:196) 位于com.advtechgrp.bop.medical.reports.core.implementation.MedicalReportCreator.createReport(MedicalReportCreator.java:80) 位于com.advtechgrp.bop.medical.reports.core.web.MedicalReportServlet.doPost(MedicalReportServlet.java:132) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:763) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 位于com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:282) 位于com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:459) 位于com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:265) 位于com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:262) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1075) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1016) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118) com.ibm.ws.webcontainer.filter.WebAppFilterChain.\u doFilter(WebAppFilterChain.java:87) 在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771) 在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:546) 位于com.ibm.ws.wswebcontainerservlet.ServletWrapper.HandlerRequest(ServletWrapper.java:478) 位于com.ibmws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:321) 在com.advtechgrp.bop.medical.web.filter.UrlRewritingFilter.doFilter上(UrlRewritingFilter.java:132) 位于com.ibm.ws.webcontainer.filterFilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) 位于com.advtechgrp.bop.medical.web.filter.GZIPFilter.doFilter(GZIPFilter.java:36) 位于com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) 位于com.advtechgrp.bop.medical.web.filter.WebLogFilter.doFilter(WebLogFilter.java:69) 位于com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) 位于com.advtechgrp.bop.medical.web.filter.SecurityFilter.doFilter(SecurityFilter.java:174) 在com.ibm.ws.webcontainerfilter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)上 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130) com.ibm.ws.webcontainer.filter.WebAppFilterChain.\u doFilter(WebAppFilterChain.java:87) 在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771) 在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679) 位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:546) 位于com.ibm.ws.wswebcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:478) 位于com.ibm.ws.webcontainer.servlet.CacheServletWrapper.HandlerRequest(CacheServletWrapper.java:90) 位于com.ibm.ws.webcontainer.webcontainer.handleRequest(webcontainer.java:744) 位于com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455) 位于com.ibmws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:115) 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) 位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387) 位于com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) 在com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted上(AioReadCompletionListener.java:165) 位于com.ibm.io.async.absr