Since: uPortal 4.0.6
As of 4.0.6 uPortal ships with a clustering enabled EHCache configuration using jGroups. Ehcache is configured to do replication via invalidation, meaning if object A is modified on server 1 all other servers are notified to remove object A from their caches resulting in a re-read from the database on next access.
Configuration
uportal-war/src/main/resources/properties/jgroups.xml specifies the jGroups configuration to use. This file is based on the default jGroups udp.xml file included with the jGroups library. This configuration uses a UDP based multicast group protocol. If UDP Multicast is not a viable option for your deployment there are alternate example configurations available here: https://github.com/belaban/JGroups/tree/1df66514dcfd7dd3ea494709184a6430f71e3820/conf
The jGroups manual is also a good source for additional configuration, testing, and debugging information and tools.
If the default udp configuration is used the important configuration options are available from portal.properties. This allows setting the UDP multicast group address and ports to use.
################################################################################ ## ## ## jGroups UDP Cluster Configuration ## ## ## ################################################################################ ## ## The default jGroups configuration shipped with uPortal uses UDP Multicast. If ## a different jGroups configuration is needed change the contents of ## uportal-war/src/main/resources/properties/jgroups.xml ## ## The jGroups manaul can be found here: ## http://www.jgroups.org/manual-3.x/html/index.html ## ## Alternative configurations can be found here: ## https://github.com/belaban/JGroups/tree/1df66514dcfd7dd3ea494709184a6430f71e3820/conf ## ## ## The port to use for the FD_SOCK protocol ## http://www.jgroups.org/manual-3.x/html/protlist.html#FD_SOCK ## #uPortal.cacheManager.jgroups.fd_sock.start_port= ## ## The port for the UDP transport to listen on ## http://www.jgroups.org/manual-3.x/html/protlist.html#Transport ## #uPortal.cacheManager.jgroups.udp.bind_port= ## ## The TTL of the multicast packets ## http://www.jgroups.org/manual-3.x/html/protlist.html#UDP ## #uPortal.cacheManager.jgroups.udp.ip_ttl= ## ## The multicast group IP address ## http://www.jgroups.org/manual-3.x/html/protlist.html#UDP ## #uPortal.cacheManager.jgroups.udp.mcast_addr= ## ## The multicast port ## http://www.jgroups.org/manual-3.x/html/protlist.html#UDP ## #uPortal.cacheManager.jgroups.udp.mcast_port=