Skip to main content

Summary

Registering Servers with putit Using putit How to register an Orbix server Registering a server with the Implementation Repository Registering a server with the IMR

Article Number

31899

Environment

Orbix 3

All supported platforms

Question/Problem Description

How should an Orbix 3 server be registered with the Implementation Repository?

Clarifying Information

Each Orbix 3 server program has a name, unique within its host machine. A server can consist of one or more processes. When a client invokes a method on an object, a server process containing the target object must be available. If the process is not running, the Orbix daemon at the server host attempts to launch the server process automatically.

To allow an Orbix daemon to manage the server processes running in the system, Orbix provides an Implementation Repository. The Implementation Repository maintains a mapping from a server’s name to the filename of the executable code implementing that server. The server code must therefore be registered with the Implementation Repository.

Resolution

An Orbix 3 server application can be registered with the Implementation Repository using the Orbix 3 command "putit".

In short, the putit command takes the server name, the associated process' binary file and various options (detailed below) and stores them in the IMR. The Orbix daemon uses this informaiton to launch the server process, if required.

As the Orbix daemon monitors the status of the server process, it is important to register the server name against the binary file itself, rather than a third-party start script.

At the simplest level, the putit command can be run as follows:

  putit <Server Name> <Server Binary>
The full list of options for the putit command are as follows:
 Command Syntax:
    putit [-v] [-h <host>] [-per-client | -per-client-pid]
    [ [-shared | -unshared] [-marker <marker>] ]
    [ -j | -java [-classpath <classpath> | -addpath <path> ] ]
    [ -oc <ORBclass> -os <ORBSingletonClass>] [ -jdk2]
    | [-per-method [-method <method>] ]
    [ -port <iiop portnumber>]
    [ -n <number of servers> ] [ -l ]
    [ -ssl_secure | -ssl_semi_secure  [-ssl_client_auth]  [-ssl_support_null_enc | -ssl_support_null_enc_only]  [-ssl_support_null_auth | -ssl_support_null_auth_only] ]
    <serverName> [ <commandLine> | -persistent ]

Note: If the command line includes switches, then you should encapsulate the command line inside  double quotes

For example:

putit -shared -marker "*" -host foo my_server "my_command -s1 -s2"

Note: If the server is an OrbixWeb server, <commandLine> will be the arguments passed to the Java interpreter (including the class name, but not the classpath)

For example:

putit -java -addpath my_package_path my_server my_class

Note: If you intend to pass SSL information to the daemon you must pass either -ssl_secure or -ssl_semi_secure before other SSL flags.

For example:

putit -ssl_secure -ssl_client_auth grid ssl_server.exehb


#KnowledgeDocs
#Orbix3
#administration
#Orbix