Details
-
Type:
Bug
-
Status: Resolved
-
Priority:
Minor
-
Resolution: Cannot Reproduce
-
Affects Version/s: 2.8.5
-
Fix Version/s: 2.18.0
-
Component/s: camel-cache, karaf
-
Labels:None
-
Environment:
ServiceMix 4.4.2
-
Estimated Complexity:Unknown
Description
When multiple bundles contain routes with a "cache:" endpoint, if one bundle is stopped, the cache from the other bundle stops working as well.
Solution : in method doStop of class org.apache.camel.component.cache.CacheManagerFactory, remove the call to cacheManager.shutdown().
If really useful, a more elaborate reference counting mechanism could be used to stop the CacheManager when the last endpoint is being stopped
Caused by: java.lang.IllegalStateException: The CacheManager has been shut down. It can no longer be used. at net.sf.ehcache.CacheManager.checkStatus(CacheManager.java:1158) at net.sf.ehcache.CacheManager.cacheExists(CacheManager.java:1048) at org.apache.camel.component.cache.CacheEndpoint.initializeCache(CacheEndpoint.java:104) at org.apache.camel.component.cache.CacheProducer.process(CacheProducer.java:56)