At startup, each configuration client and backup configuration server downloads the full groupconfig
directory structure from the master configuration server. Local replication of all subdirectories enables a configuration client to start up in the absence of a configuration server, and to start as any of the defined node types.
For example, the layout of a groupconfig
directory might look like this:
groupconfig server instance saturn+production1 saturn+lockmgr jupiter+publishing1 jupiter+publishing2 ... nodetype production publishing ... client instance saturn+production1 saturn+lockmgr jupiter+publishing1 jupiter+publishing2 ... nodetype production publishing ...
The master configuration server can be configured to create a group configuration JAR file as needed after startup, which other group members can download. To do so, set the master’s autoCreateConfigJars
property to true
. You can also create a JAR file on the configuration server manually, by invoking one of these methods from the Dynamo Component Browser:
createGroupConfigJar()
createGroupConfigJarIfNeeded()
Each configuration client periodically checks the master configuration server for updates to the group configuration, according to the value set on its ConfigurationClient.schedule
property. by default, every 60 seconds. You can also manually download updates to a client at any time by invoking its method downloadConfigUpdate()
.
Finding a Group Configuration
Each configuration client caches information about known configuration servers. When required, it checks for configuration updates as follows:
Reads through its cached list of known configuration servers, starting with the last-known master configuration server.
If no previously known configuration server can be found from the cached list, uses Zeroconf—via the component
/atg/dynamo/service/jmdns/ClusterBroadcaster
—to find a member of its configuration group. It uses that member’s published information to find the current master configuration server and downloads its configuration.If starting up and all attempts to auto-discover a configuration server fail, starts up with the previously downloaded group configuration.
If starting up for the first time and no previous group configuration is available, logs an error message and starts up without it.
Auto-Discovery
As installed, the group configuration system uses Zeroconf to advertise the existence of Oracle ATG Web Commerce server instances in the configuration group. Configuration clients and configuration servers notify Zeroconf of their existence, which also compiles and maintains a list of the group’s configuration servers and the order of master succession. Zeroconf maintains the following information about each group member:
Published Data | Description |
---|---|
| Host name, included in broadcast messages |
| HTTP admin port, included as the port in broadcast messages |
| HTTPS admin port, if any |
| Oracle ATG Web Commerce server directory of this instance, truncated to 255 characters (as required by the DNS Service Discovery specification) |
| Oracle ATG Web Commerce version string of this instance. For example: “10.2”. |
| Name of the configuration group |
| Node type of this configuration client |
| boolean, specifies whether this instance is a configuration server |
| boolean, specifies whether this instance is a configuration client |
| boolean, specifies whether this instance is defined as the master configuration server |
| The list of modules specified on the command line, truncated to 255 characters (as required by the DNS Service Discovery specification) |