Configure BigMemory Servers for MashZone NextGen Caching and In-Memory Stores
You can configure
MashZone NextGen to work with one or an array of
BigMemory Servers to provide additional memory, provide reliability and support specific other features. See
BigMemory for
Caching, Connections and
MashZone NextGen
Analytics for more information on features that require
BigMemory servers.
To configure
BigMemory Servers for
MashZone NextGen 1. Copy your license for BigMemory to MashZone NextGen and update MashZone NextGen startup scripts:
a. Copy the license file terracotta.key to the MashZoneNG-install/apache-tomcat/conf folder.
Note: If MashZone NextGen is deployed in a cluster, you must copy this file to every cluster member.
b. Add the following Java system property to the MashZone NextGen server configuration file <MashZone NextGen installation>/apache-tomcat/conf/wrapper.conf:
wrapper.java.additional.<n+1>=-Dcom.tc.productkey.path=MashZoneNG-install/apache-tomcat/conf/terracotta.key
Where n is the number of last additional Java parameter.
Note: If MashZone NextGen is deployed in a cluster, you must update the server configuration files for every cluster member.
2. Edit the ehcache.xml file for MashZone NextGen in a text editor of your choice. The location depends on your deployed environment:
Only One MashZone NextGen Server | MashZoneNG-install/apache-tomcat/webapps/mashzone/WEB-INF/classes/ehcache.xml |
A MashZone NextGen Cluster and Shared External Configuration Folder | MashZoneNG-config/ehcache.xml |
A MashZone NextGen Cluster With No Shared Configuration | You must update MashZoneNG-install/apache-tomcat/webapps/mashzone/WEB-INF/classes/ehcache.xml for each cluster member. |
3. Find the line in ehcache.xml with <terracottaConfig> that is commented out like this:
<!-- <terracottaConfig url="localhost:9510" /> -->
Remove the comment markers and change the url attribute to the host (or IP address) and port for the BigMemory server(s) you installed. For example:
<terracottaConfig url="tcHost1:9510" />
Note: There are several ways to identify one or more
BigMemory servers for
MashZone NextGen. See
BigMemory documentation for more information.
4. Find the line in ehcache.xml with <terracotta> that is commented out and uncomment this line for each of the following named <cache> elements:
RAQL_DATA_CACHE = the
MashZone NextGen Analytics In-Memory Stores SEARCH_RESULTS_CACHE = one part of the
MashZone NextGen Artifact cache.
SERVICES_BY_ID_CACHE = = one part of the
MashZone NextGen Artifact cache.
SERVICE_RESPONSE_CACHE = the
MashZone NextGen Response cache for mashables and mashups. This is optional. Update this cache
only if you want it to be distributed.
This <terracotta> element allows the In-Memory Store and MashZone NextGen caches to use heap and off-heap memory in both the local host and BigMemory hosts. This combined memory is managed by BigMemory.
For more information on the
<terracotta> element, see
Distributed Configuration topics in
BigMemory documentation.
5. Save these changes to ehcache.xml.
Important: For clusters where this configuration file is not stored in a shared external folder, copy this file to the same location for each MashZone NextGen cluster member.
6. Optionally, update configuration for dynamic In-Memory Stores that MashZone NextGen Analytics creates to work with BigMemory servers:
a. Edit the dynamiccache.xml file in these locations (based on your deployed environment):
Only One MashZone NextGen Server | MashZoneNG-install/apache-tomcat/webapps/mashzone/WEB-INF/classes/dynamiccache.xml |
A MashZone NextGen Cluster and Shared External Configuration Folder | MashZoneNG-config/dynamiccache.xml |
A MashZone NextGen Cluster With No Shared Configuration | You must update MashZoneNG-install/apache-tomcat/webapps/mashzone/WEB-INF/classes/dynamiccache.xml for each cluster member. |
b. Add a <terracotta> element inside the <cache> element.
c. Provide URLs or other connection information as needed.
d. Save your changes.
7. Optionally, update configuration for any declared In-Memory Stores to work with these BigMemory server(s):
a. In the configuration files for your declared In-Memory Stores, add a <terracotta> element inside the corresponding <cache> element.
b. Provide URLs or other connection information as needed.
c. Save changes to these files.
8. Start BigMemory Server(s).