BEA Logo BEA Tuxedo Release 7.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   Tuxedo Doc Home   |   Jolt   |   Topic List   |   Previous   |   Next   |   Contents   |   Index

   Using BEA Jolt

Jolt Relay

The combination of the Jolt Relay (JRLY) and its associated Jolt Relay Adapter (JRAD) is typically referred to as the Internet Relay. Jolt Relay routes messages from a Jolt client to a JSL or JSH. This eliminates the need for the JSH and BEA Tuxedo to run on the same machine as the Web server (which is generally considered insecure). The Jolt Relay consists of the two components illustrated in the figure Jolt Internet Relay Path.

This figure illustrates how a browser connects to the Web server software and downloads the BEA Jolt applets. The Jolt applet or client connects to the JRLY on the Web server machine. The JRLY forwards the Jolt messages across the firewall to the JRAD. The JRAD selectively forwards messages to the JSL or appropriate JSH.

Jolt Relay Failover

There are two points of failovers associated with JRLY:

Jolt Client to JRLY Connection Failover

If one server address does not result in a successful session, the failover function allows the Jolt Client API to connect to the next free (unconnected) JRLY specified in the argument list of the API. To enable this failover in an NT environment, multiple NT JRLY services can be executed. In a non-NT environment, multiple JRLY processes are executed. Each JRLY (service or process) has its own configuration file. This type of failover is handled by Jolt 1.2.1 client API new features that allow you to specify a list of Jolt server addresses (JSL or JRLY).

JRLY to JRAD Adapter 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 the failover functionality, you have to boot multiple JRADs by configuring them in the UBBCONFIG file.

Jolt Relay Process

The JRLY (front-end relay) process can 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 still unable to connect to the JRAD, the client is denied access and a warning is written to the JRLY error log file.

Starting the JRLY on UNIX

Start the JRLY process by typing the command name at a system prompt.

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 details about the Jolt Relay error messages.

If the JRLY is unable to start, it writes a message to standard error and attempts to log the startup failure in the error log, then exits.

JRLY Command-Line Options for NT

This section describes command-line options that are available from the NT version of JRLY.exe. Note the following:

The JRLY command line options are detailed in the following table JRLY Command-Line Options for NT.

JRLY Command-Line Options for NT

Option

Description

jrly -install [display_suffix]

Install jrly as an NT service.


Example 1:

jrly -install

In this example, the default JRLY is installed as an NT Service and is displayed in the Service Control Manager (SCM) as Jolt Relay.


Example 2:

jrly -install MASTER

In this case, an instance of JRLY is installed as an NT Service and is displayed in the SCM as Jolt Relay_MASTER. The suffix, MASTER, does not have any significance; it is only used to uniquely identify various instances of JRLYs.


At this point, this instance of JRLY is not ready to start. It must be assigned the configuration file (see the set command discussion) that specifies the listening TCP/IP port, JSH connection TCP/IP port, log files, and sockettimeout. This file should not be shared between various instances of JRLY.

jrly -remove [display_suffix] | -all

Remove one or all instances of JRLY from NT service.

If [display_suffix] is specified, this command removes the specified JRLY service.

If [display_suffix] is not specified, this command removes the default JRLY from being an NT Service.

If the -all option is specified, all JRLY NT Services are removed. Related NT registry entries under

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

and

HKEY_LOCAL_MACHINE\Software\BEA\Jolt\1.2.1

are removed.

jrly -set
[-d
display_suffix] -f config_file

Update the registry with the full path of a new configuration file.


Example 1:

jrly -set -f c:\tux71\udataobj\jolt\jrly.con

In this example, the default JRLY NT Service (Jolt Relay) is assigned a configuration file called jrly.con that is located in: c:\tux71\udataobj\jolt directory.


Example 2:

jrly -set -d MASTER -f c:\tux71\udataobj\jolt\master.con


Here, the JRLY NT Service instance, called Jolt Relay_MASTER is assigned a configuration file called jrly_master.con that is located in c:\tux71\udataobj\jolt directory.

jrly -manual [display_suffix]

Set the start/stop to manual.

This command sets the specified JRLY instance to be manually controlled, using either the command-line options or the SCM.

jrly -auto [display_suffix]

Set the start/stop to automatic.

This command sets all the operations for specified NT Service to be automatically started when the OS boots and stopped when the OS shuts down.

jrly -start [display_suffix]

Start the specified JRLY.


jrly -stop [display_suffix]

Stop the specified JRLY.


jryl -version

Print the current version of JRLY binary.


jrly -help

Print command-line options with brief descriptions.


JRLY Command-Line Option for UNIX

There is only one JRLY command-line option for UNIX:

JRLY Command-Line Option for UNIX

Option

Description

jrly -f config_file_path

Start the JRLY process.

This option starts the JRLY process. If the configuration file does not exist or cannot be opened, the JRLY prints an error message. If the JRLY cannot start, it writes a message to standard error, attempts to log the startup failure in the error log, then exits.

JRLY Configuration File

The format of the configuration file is a TAG=VALUE format. Blank lines or lines starting with a "#" are ignored. The following listing contains an example of the formal specifications of the configuration file.

Specification of 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 is the duration (in seconds) of which the relay NT service blocks the establishment of new socket connections to allow network activity (new connections, data to be read, closed connections). It is valid only on NT machines.

SOCKETTIMEOUT also affects the SCM. When the SCM requests that the service stop, the SCM needs to wait at least SOCKETTIMEOUT seconds before doing so.

The following listing shows an example of the JRLY configuration file. The CONNECT line specifies the IP address and port number of JRAD machine.

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, 200.100.20.200:5555,...

SOCKETTIMEOUT=30            //See text under listing


The format for directory and file names is determined by the operating system. UNIX systems use the forward slash (/). NT systems use the backslash (\). If any file specified in LOGDIR, ACCESS_LOG or ERROR_LOG cannot be opened for writing, the JRLY prints an error message on stderr and exits.

The formats for host names and port numbers are shown in the following table.

Host Name and Port Number Formats

Host Name/Port Number

Descriptions

Hostname:Port

Hostname is a string, Port is a decimal number

//Hostname:Port

Hostname is a string, Port is a decimal number

IP:Port

IP is a dotted notation IP address, Port is a decimal number