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.
Configuring JMS Replication on a Multi App Server Environment
- Make sure the ActiveMQ Broker password is the same on each Learn Application Server. The password is configured in bb-config.properties. 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.
- Change the replication mechanism to JMS in bb-config.properties and run PushConfigUpdates.
How to Configure for RMI Replication
Change the replication mechanism to RMI in bb-config.properties and run PushConfigUpdates.
Monitoring 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