Skip to main content
Blackboard Help

Ehcache Cluster Replication

If you are a Managed Hosting customer, this topic doesn't apply to you.

Cluster replication

Pre-SP 14, the only supported method for Ehcache cluster replication is RMI, that is, through Java's Remote Method Invocation (RMI). In SP 14, we added a second replication method, which is JMS (Java Message Service) replication implemented by using the ActiveMQ. The default and recommended replication method in SP 14 is JMS. When you upgrade to SP 14, the replication method used is JMS.

Configure JMS replication on a multi-app server environment

  1. Make sure the ActiveMQ Broker password is the same on each Learn Application Server. The password is configured in If the values are not the same, use the value from one of the app servers or the following value. Then, run PushConfigUpdates after making the changes. To learn more about PushConfigUpdates, see PushConfigUpdates.


  1. Change the replication mechanism to JMS in and run PushConfigUpdates.


Configure for RMI replication

Change the replication mechanism to RMI in and run PushConfigUpdates.


Monitor Ehcache's JMS replication

The Ehcache replication activity and various related statistics can be monitored using JMX-aware monitoring tools such as jvisualvm/jconsole. Learn's Admin Console has a JMX-browser that enables us inspect all the MBeans registered to the JVM (such as Tomcat, Ehcache, ActiveMQ, and so on.). The beauty of the Admin Console's JMX-browser is that you do not need to make any configuration changes to the wrapper.conf as you do when accessing Learn through jvisualvm/jconsole. If the Admin Console is inactive, you must make it active. To learn more about the Admin Console, see Admin Console.

Following are descriptions of some of the Attributes of the Ehcache topic:

  • AverageEnqueueTime - Average time a message has been held this destination.
  • BlockedProducerWarningInterval - Blocked Producer Warning Interval
  • ConsumerCount - Number of consumers subscribed to this destination.
  • DequeueCount - Number of messages that have been acknowledged (and removed from) from the destination.
  • DispatchCount - Number of messages that have been delivered (but potentially not acknowledged) to consumers.
  • EnqueueCount - Number of messages that have been sent to the destination.
  • InFlightCount - Number of messages that have been dispatched to, but not acknowledged by, consumers.
  • MaxEnqueueTime - The longest time a message has been held this destination.
  • MemoryLimit - Memory limit, in bytes, used for holding undelivered messages before paging to temporary storage.
  • QueueSize - Number of messages in the destination which are yet to be consumed. Potentially dispatched but unacknowledged.
  • ExpiredCount - Number of messages that have been expired.
  • ProducerCount - Number of producers publishing to this destination