Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.9.2
-
None
-
Unknown
Description
Package com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru is included/shaded inside the camel-core jar.
It is not very nice if concurrentlinkedhashmap-lru.jar is already on the path. It is a deal breaker, if their versions are different. For example cassandra-1.1.1 requires ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity(), which is missing from the version included in camel.
It would be nice if concurrentlinkedhashmap-lru was included as a normal dependency. Comment in the pom.xml says "Shade the googlecode stuff for OSGi". Well, if that is strictly required, maybe it could be better included in camel-core-osgi package.
In any case, if it must be shaded at all, it would be safer to use relocation property of the maven-shade-plugin. In this case, camel could stay with the version it wants, without conflicting with explicit dependencies.