[infinispan-issues] [JBoss JIRA] Created: (ISPN-735) Bug in the cache event notifications {CacheStarted, CacheStopped, ViewChanged}
Thomas Fuller (JIRA)
jira-events at lists.jboss.org
Tue Oct 26 02:41:54 EDT 2010
Bug in the cache event notifications {CacheStarted, CacheStopped, ViewChanged}
------------------------------------------------------------------------------
Key: ISPN-735
URL: https://jira.jboss.org/browse/ISPN-735
Project: Infinispan
Issue Type: Bug
Components: Listeners
Affects Versions: 4.1.0.Final
Reporter: Thomas Fuller
Assignee: Manik Surtani
I am currently working on adding some functionality to the Grails Infinispan Plugin, which relies on Infinispan-4.1.0.FINAL (Radegast). This particular functionality is expressed as a mixin and will allow the developer to use a closure to receive event notifications from the cache -- for example:
agentCache.onCacheEntryLoaded {
log.info ("=====> Cache entry loaded: $it")
}
I have a basic unit test for each of the events detailed in the Listener documentation here:
http://docs.jboss.org/infinispan/4.0/apidocs/org/infinispan/notifications/Listener.html
however the following three annotations are not being registered (whereas all the others are):
import org.infinispan.notifications.cachemanagerlistener.annotation.CacheStarted
import org.infinispan.notifications.cachemanagerlistener.annotation.CacheStopped
import org.infinispan.notifications.cachemanagerlistener.annotation.ViewChanged
Instead I'm receiving a message like the following when my test application starts:
cachelistener.CacheNotifierImpl Attempted to register listener of class class com.coherentlogic.grails.infinispan.listeners.CacheStoppedListener, but no valid,public methods annotated with method-level event annotations found! Ignoring listener.
and likewise my unit tests are also failing.
Here's an example of one of the listener implementations which works:
@Listener
class CacheEntryCreatedListener {
private def closure
@CacheEntryCreated
public void cacheEntryCreated (cacheEntryCreatedEvent) {
closure?.call (cacheEntryCreatedEvent)
}
}
Here's an example of one of the listener implementations which does not work:
@Listener
class CacheStoppedListener {
private def closure
@CacheStopped
public void cacheStopped (cacheStoppedEvent) {
closure?.call (cacheStoppedEvent)
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list