Mesh Set-up

If you choose not to use an RMI hub, then change-generating servers must send invalidation events to all other servers rather than sending them just to the RMI hub.

To set up your installation in this way, you need to edit the following configuration layer .properties files. For general information about configuration layers and how to edit them, see Configuration Layers. The files you need to edit are:

configuration-layer-root/Initial.properties

Make sure the following properties are set for all servers (that is, set them in the common layer):

service.1.1-remote-expire=/neo/io/services/RemoteExpireServiceBootstrap
service.1.2.5-api=/io/api/RMIBootstrap
configuration-layer-root/io/api/EventManager.properties

For change-generating servers only, the remoteServers property must be contain a comma-separated list of servers to which invalidation events must be set. There must be one entry in the list for every other Content Engine instance in the installation, and each entry must have the form:

host-address:8123

where host-address is either the host name or IP address of the host on which the target Content Engine instance is running.

Since this setting is only required on change-generating servers, you should add the property to the appropriate host configuration layers (or possibly to a family configuration layer).

configuration-layer-root/neo/io/services/RemoteExpireService.properties

For change-generating servers only, the remoteManagers property must be contain a comma-separated list of EventManagers to which invalidation events must be set. There must be one entry in the list for every other Content Engine instance in the installation, and each entry must have the form:

rmi://host-address:8123/io/api/EventManager

where host-address is either the host name or IP address of the host on which the target Content Engine instance is running.

Since this setting is only required on change-generating servers, you should add the property to the appropriate host configuration layers (or possibly to a family configuration layer).

The following examples show the configuration for two change-generating servers (input1 and input2), and two presentation-only servers (presentation1 and presentation2).

Here are the properties that need to be set in configuration-layer-root/Initial.properties (common layer):

service.1.1-remote-expire=/neo/io/services/RemoteExpireServiceBootstrap
service.1.2.5-api=/io/api/RMIBootstrap

Here are the properties that need to be set in the host configuration layer for input1. First configuration-layer-root/io/api/EventManager.properties:

remoteManagers=rmi://input2:8123/io/api/EventManager, rmi://presentation1:8123/io/api/EventManager, \
  rmi://presentation2:8123/io/api/EventManager

then configuration-layer-root/neo/io/services/RemoteExpireService.properties:

remoteServers=input2:8123, presentation1:8123, presentation2:8123

Here are corresponding properties for input2. First configuration-layer-root/io/api/EventManager.properties:

remoteManagers=rmi://input1:8123/io/api/EventManager, rmi://presentation1:8123/io/api/EventManager, \
  rmi://presentation2:8123/io/api/EventManager

then configuration-layer-root/neo/io/services/RemoteExpireService.properties:

remoteServers=input1:8123, presentation1:8123, presentation2:8123

You can see from the above example that in a large installation with many servers, it can be quite difficult to ensure that these properties are correctly set on all servers. That is why the RMI hub set-up is recommended.