[
https://issues.apache.org/jira/browse/CAMEL-11266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16012236#comment-16012236
]
Claus Ibsen commented on CAMEL-11266:
-------------------------------------
[~lb] wonder if you could take a look as you recently worked on this component
> The component creates a separate CacheManager per producer route
> ----------------------------------------------------------------
>
> Key: CAMEL-11266
> URL: https://issues.apache.org/jira/browse/CAMEL-11266
> Project: Camel
> Issue Type: Bug
> Components: camel-ehcache
> Affects Versions: 2.19.0
> Reporter: Marco Santarelli
> Fix For: 2.20.0
>
>
> The issue becomes clear if the developers declares more than one producer
> route with the attached ehcache config: multiple cache managers start
> contention of file lock and the startup fails.
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <ehcache:config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:ehcache="http://www.ehcache.org/v3"
> xsi:schemaLocation="http://www.ehcache.org/v3
> http://www.ehcache.org/schema/ehcache-core-3.3.xsd">
> <ehcache:persistence
> directory="${java.io.tmpdir}/ehcache"></ehcache:persistence>
> <ehcache:cache alias="cache1" uses-template="default-template">
> </ehcache:cache>
> <ehcache:cache alias="cache2" uses-template="default-template">
> <ehcache:expiry>
> <ehcache:ttl unit="minutes">60</ehcache:ttl>
> </ehcache:expiry>
> </ehcache:cache>
> <ehcache:cache alias="cache3" uses-template="default-template">
> <ehcache:expiry>
> <ehcache:ttl unit="minutes">1</ehcache:ttl>
> </ehcache:expiry>
> </ehcache:cache>
> <ehcache:cache-template name="default-template">
> <ehcache:key-type>java.lang.String</ehcache:key-type>
> <ehcache:value-type>java.io.Serializable</ehcache:value-type>
> <ehcache:expiry>
> <ehcache:none/>
> </ehcache:expiry>
> <ehcache:resources>
> <ehcache:heap unit="entries">1000</ehcache:heap>
> <ehcache:disk persistent="true" unit="MB">10</ehcache:disk>
> </ehcache:resources>
> </ehcache:cache-template>
> </ehcache:config>
> {code}
> resulting in:
> {code}
> Caused by: org.ehcache.StateTransitionException: Couldn't lock rootDir:
> /var/folders/gf/6psxkr_n7vl_qbhw8mktqqww0000gn/T/ehcache
> at
> org.ehcache.core.StatusTransitioner$Transition.failed(StatusTransitioner.java:235)
> ~[ehcache-3.2.2.jar:3.2.2 892e5c56c2a7100866de90dc7c2099a62fb6198b]
> at org.ehcache.core.EhcacheManager.init(EhcacheManager.java:588)
> ~[ehcache-3.2.2.jar:3.2.2 892e5c56c2a7100866de90dc7c2099a62fb6198b]
> at
> org.apache.camel.component.ehcache.EhcacheManager.start(EhcacheManager.java:66)
> ~[camel-ehcache-2.19.0.jar:2.19.0]
> at
> org.apache.camel.component.ehcache.EhcacheEndpoint.doStart(EhcacheEndpoint.java:65)
> ~[camel-ehcache-2.19.0.jar:2.19.0]
> at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:236)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.processor.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1447)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:44)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:31)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.processor.interceptor.DefaultChannel.doStart(DefaultChannel.java:156)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:80)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> ~[camel-core-2.19.0.jar:2.19.0]
> at
> org.apache.camel.impl.RouteService.startChildService(RouteService.java:364)
> ~[camel-core-2.19.0.jar:2.19.0]
> at org.apache.camel.impl.RouteService.doWarmUp(RouteService.java:196)
> ~[camel-core-2.19.0.jar:2.19.0]
> at org.apache.camel.impl.RouteService.warmUp(RouteService.java:145)
> ~[camel-core-2.19.0.jar:2.19.0]
> ... 28 common frames omitted
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)