The logic of camel-jbossdatagrid component requires a dependency on infinispan-embedded/infinispan-core in all cases, even if just a remote cache is used. There should be separate sets of dependencies for both use cases - remote cache and embedded cache.
I've checked the current solution and the separation of dependencies is not complete yet. I'm getting the following exception when using an embedded cache: java.lang.NoClassDefFoundError: org/infinispan/client/hotrod/event/ClientCacheEntryRemovedEvent at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2451) at java.lang.Class.privateGetPublicMethods(Class.java:2571) at java.lang.Class.getMethods(Class.java:1429) at org.infinispan.notifications.AbstractListenerImpl.validateAndAddListenerInvocation(AbstractListenerImpl.java:179) at org.infinispan.notifications.cachelistener.CacheNotifierImpl.addListener(CacheNotifierImpl.java:662) at org.infinispan.notifications.cachelistener.CacheNotifierImpl.addListener(CacheNotifierImpl.java:624) at org.infinispan.CacheImpl.addListener(CacheImpl.java:676) at org.apache.camel.component.infinispan.InfinispanConsumerEmbeddedHandler.start(InfinispanConsumerEmbeddedHandler.java:41) at org.apache.camel.component.infinispan.InfinispanConsumer.doStart(InfinispanConsumer.java:82) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) When I look at the code, there are still places where both infinispan-remote and infinispan-embedded are needed. E.g. InfinispanAsyncClusteredEventListener where both @Listener and @ClientListener are used on the same listener class.