First, my cacheManager is a CompositeCacheManager
which has an EhCacheCacheManager
and a SimpleCacheManager
.
EhCacheCacheManager
loads a JMSCacheManagerPeerProviderFactory
and a number of Caches
. Each Cache has a JMSCacheReplicatorFactory
.
With this config I constantly get an error in the logs (see below), and and periodically get CPU spikes that can only be fixed with a restart.
This is the error. Any ideas??
net.sf.ehcache.distribution.jms.JMSCacheReplicator replicationThreadMain
WARNING: Exception on flushing of replication queue: null. Continuing...
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
...
at net.sf.ehcache.distribution.jms.JMSCachePeer.send(JMSCachePeer.java:230)
at net.sf.ehcache.distribution.jms.JMSCacheReplicator.flushReplicationQueue(JMSCacheReplicator.java:554)
at net.sf.ehcache.distribution.jms.JMSCacheReplicator.replicationThreadMain(JMSCacheReplicator.java:512)
at net.sf.ehcache.distribution.jms.JMSCacheReplicator.access$000(JMSCacheReplicator.java:39)
at net.sf.ehcache.distribution.jms.JMSCacheReplicator$JMSReplicationThread.run(JMSCacheReplicator.java:461)