Jolt 1.2 Developer's Guide

processes are executed. Each JRLY (service or process) has its own configuration file. This type of failover is handled by
Jolt 1.2 client API changes that allow you to specify a list of Jolt server addresses (JSL or JRLY).
JRLY to JRAD connection failover
Each JRLY configuration file has a list of JRAD addresses. When a JRAD is unavailable, JRLY tries to connect to the next
free (unconnected) JRAD, in a round-robin fashion. Two JRLYs cannot connect to the same JRAD. Given these facts, you
can make the connection efficient by giving different JRAD address orders. That is, if you make one extra JRAD available
on standby, the first JRLY that loses its JRAD connects to the extra JRAD. This type of failover is handled by JRLY alone.
If any of the listed JRADs are not executing when JRLY is started, the initial connection fails. When a Jolt client tries to
connect to JRLY, the JRLY again tries to connect to the JRAD.
To accommodate failover functionality, you have to boot multiple JRADs by configuring them in the UBBCONFIG file.
Jolt Relay Process
The JRLY (front-end relay) process may be started before or after the JRAD is started. If the JRAD is not available when the
JRLY is started, the JRLY attempts to connect to the JRAD when it receives a client request. If JRLY is unable to connect to the
JRAD, the client is denied access and is disconnected. A warning is written to the JRLY error log file.
Starting the JRLY
Enter this command at the system prompt to start the JRLY process:
jrly -f <config_file_path>
If the configuration file does not exist or cannot be opened, the JRLY prints an error message. Refer to Appendix B, System
Messages for the Jolt Relay messages.
If the JRLY is unable to start, it writes a message to the standard error file and attempts to log the startup failure in the error log if
possible, then exits.
JRLY Configuration File
The configuration file has a TAG=VALUE format. Blank lines or lines starting with a "#" are ignored. Refer to Example 3-3 for
an example of the formal specifications of the configuration file.
Example 3-3. Specification of JRLY Configuration File
LOGDIR=<LOG_DIRECTORY_PATH>
ACCESS_LOG=<ACCESS_FILE_NAME in LOGDIR>
ERROR_LOG=<ERROR_FILE_NAME in LOGDIR>
LISTEN=<IP:Port combination where JRLY will accept connections>
CONNECT=<IP:Port combination associated with JRAD>
SOCKETTIMEOUT=<Seconds for socket accept() function>
Note
SOCKETTIMEOUT affects the SCM. When the SCM requests the service to stop, the SCM
needs to wait at least SOCKETTIMEOUT seconds before doing so.
Refer to Example 3-4 for an example of the JRLY configuration file. The CONNECT line specifies the IP address and port
number of the JRAD machine.
Example 3-4. Example of JRLY Configuration File
LOGDIR=/usr/log/relay
ACCESS_LOG=access_log
ERROR_LOG=errorlog
# jrly will listen on port 4444
LISTEN=200.100.10.100:4444
CONNECT=200.100.20.200:4444
SOCKETTIMEOUT=30