[ https://issues.apache.org/jira/browse/CAMEL-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550913#comment-13550913 ]
Alexandre Gattiker commented on CAMEL-5950: ------------------------------------------- That was super fast. Thank you very much! > Cache producer is not thread safe > --------------------------------- > > Key: CAMEL-5950 > URL: https://issues.apache.org/jira/browse/CAMEL-5950 > Project: Camel > Issue Type: Bug > Components: camel-cache > Affects Versions: 2.10.3 > Reporter: Alexandre Gattiker > Assignee: Willem Jiang > Fix For: 2.9.6, 2.10.4, 2.11.0 > > > {code} > from("direct:causeFailure") > .split().body().parallelProcessing() > .setHeader(CacheConstants.CACHE_OPERATION, > constant(CacheConstants.CACHE_OPERATION_DELETEALL)) > .to("cache://MyTestCache"); > {code} > {code} > String[] body = new String[] { "a", "b" }; > template.sendBody(body); > {code} > {noformat} > net.sf.ehcache.ObjectExistsException: Cache MyTestCache already exists > at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:1294) > at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1184) > at > org.apache.camel.component.cache.CacheEndpoint.initializeCache(CacheEndpoint.java:137) > at > org.apache.camel.component.cache.CacheProducer.process(CacheProducer.java:56) > at > org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > at > org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122) > at > org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > at > org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) > at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) > at > org.apache.camel.processor.MulticastProcessor.doProcessParallel(MulticastProcessor.java:709) > at > org.apache.camel.processor.MulticastProcessor.access$200(MulticastProcessor.java:80) > at > org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:290) > at > org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:275) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:722) > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira