Bug 1217480 - Camel-jdg has a dependency on infinispan-core when only remote cache is in use
Summary: Camel-jdg has a dependency on infinispan-core when only remote cache is in use
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: Camel-JBossDataGrid
Version: 6.5.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ER4
: 6.5.0
Assignee: Tristan Tarrant
QA Contact: Martin Gencur
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-04-30 13:06 UTC by Martin Gencur
Modified: 2015-06-23 12:24 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-06-23 12:24:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Martin Gencur 2015-04-30 13:06:26 UTC
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.

Comment 4 Martin Gencur 2015-05-12 10:39:49 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.