orbd - Unix, Linux Command
NAME
orbd - The Object Request Broker Daemon
orbd is used to enable clients to transparently locate and invoke
persistent objects on servers in the CORBA environment.
SYNOPSIS
orbd [
options ]
DESCRIPTION
The Server Manager included with the
orbd tool is used to enable clients to transparently locate and
invoke persistent objects on server in the CORBA environment.
The persistent servers, while publishing the persistent
object references in the Naming Service, include the port
number of the ORBD in the object reference instead of the
port number of the Server. The inclusion of ORBD port
number in the object reference for persistent object
references has the following advantages:
Tag | Description |
o The object reference in the Naming Service remains
| |
independent of the server life cycle. For example, the object
reference could be published by the server in the Naming
Service when it is first installed, and then independent
of how many times the server is started or shutdown, the
ORBD will always return the correct object reference
to the invoking client.
|
o The client needs to lookup the object reference in
| |
the Naming Service only once, and can keep re-using
this reference independent of the chanes introduced
due to server life cycle.
|
To access ORBDs Server Manager, the server must
be started using servertool, which is a
command-line interface for application programmers
to register, unregister, startup, and
shutdown a persistent server. For more information on
the Server Manager, see the section in
this document titled Server Manager.
REQUIRED OPTIONS
Tag | Description |
-ORBInitialPort nameserverport | |
Specifies the port on which the name server should
be started. Once started, orbd will
listen for incoming requests on this port. Note
that when using Solaris software, you must
become root to start a process on a port under
1024. For this reason, we recommend that
you use a port number greater than or equal to 1024. (required)
|
OTHER OPTIONS
Tag | Description |
-port port | |
Specifies the activation port where the ORBD
should be started. The default value for this port
is 1049. This port number is added to the port
field of the persistent Interoperable Object
References (IOR). (optional)
|
-defaultdb directory | |
Specifies the base where the ORBD persistent
storage directory
orb.db is created. If this option
is not specified, the default value is "./orb.db".
(optional)
|
-serverPollingTime milliseconds | |
Specifies how often the daemon thread checks for
the health of registered servers. ORBD polls
process health every
milliseconds. The default
value is 1,000 ms (or 1 second). The value
specified for
milliseconds must be a valid integer.
|
-serverStartupDelay milliseconds | |
Specifies how long the ServerManager waits
before sending a location forward exception after
the server is restarted. ORBD waits for
milliseconds before raising a location forward
exception. The default value is 1,000 ms (or 1
second). The value specified for
milliseconds must be a valid integer.
|
J option | |
Pass
option to the Java virtual machine, where
option is one of the options described on the man page for the
java application launcher, java(1). For example,
-J-Xms48m sets the startup memory to 48 megabytes. It is a common convention for
-J to pass options to the underlying virtual machine.
|
Starting and Stopping the Name Service
A Naming Service is a CORBA service that allows
CORBA objects to be named by means of binding a name to
an object reference. The name binding may
be stored in the naming service, and a client may supply the
name to obtain the desired object reference.
Prior to running a client or a server, you
will start ORBD. ORBD includes a persistent Naming Service and a
transient Naming Service, both of which are an
implementation of the COS Naming Service.
Tag | Description |
o The Persistent Naming Service provides persistence
| |
for naming contexts. This means that this
information is persistent across service shutdowns
and startups, and is recoverable in the event of a
service failure. If ORBD is restarted, the
Persistent Naming Service will restore the naming context
graph, so that the binding of all clients and
servers names remains intact (persistent).
|
o For backward compatibility, tnameserv, a
| |
Transient Naming Service shipped with older versions of
the JDK, is also included in this release of
J2SE. A transient naming service retains naming contexts as
long as it is running. If there is a service
interruption, the naming context graph is lost.
|
The -ORBInitialPort argument is a required
command-line argument for orbd, and is used to set the port
number on which the Naming Service will run.
The following instructions assume you can use port 1050 for
the Java IDL Object Request Broker Daemon. When
using Solaris software, you must become root to start a
process on a port under 1024. For this reason,
we recommend that you use a port number greater than or
equal to 1024. You can substitute a different port if necessary.
TO start orbd from a UNIX command shell, enterL
orbd -ORBInitialPort 1050&
From an MS-DOS system prompt (Windows), enter:
start orbd -ORBInitialPort 1050
Now that ORBD is running, you can run your server
and client applications. When running the client and
server applications, they must be made aware of
the port number (and machine name, if applicable) where
the Naming Service is running. One way to do this
is to add the following code to your application:
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort", "1050");
props.put("org.omg.CORBA.ORBInitialHost", "MyHost");
ORB orb = ORB.init(args, props);
|
In this example, the Naming Service is running
on port 1050 on host "MyHost". Another way is to specify the
port number and/or machine name when running the
server or client application from the command line. For
example, you would start your "HelloApplication"
with the following command line:
java HelloApplication -ORBInitialPort 1050 -ORBInitialHost MyHost
To stop the naming service, use the relevant
operating system command, such as pkill orbd on Solaris, or
Ctrl+C in the DOS window in which orbd is
running. Note that names registered with the naming service
may disappear when the service is terminated if
the naming service is transient. The Java IDL naming service
will run until it is explicitly stopped.
For more information on the Naming Service
included with ORBD, see Naming Service.
Server Manager
To access ORBDs Server Manager and run a
persistent server, the server
must be started using servertool,
which is a command-line interface for
application programmers to register,
unregister, startup, and shutdown
a persistent server. When a server is
started using servertool, it must be
started on the same host and port
on which orbd is executing. If the server is
run on a different port, the
information stored in the database for
local contexts will be invalid and
the service will not work properly.
Server Manager: an Example
Using the sample tutorial for our demonstration,
you would run the idlj compiler and javac compiler as
shown in the tutorial. To run the Server
Manager, follow these steps for
running the application:
Tag | Description |
1. Start orbd.
| |
To start orbd from a UNIX command shell, enter:
|
Tag | Description |
|
orbd -ORBInitialPort 1050
|
From an MS-DOS system prompt (Windows), enter:
|
|
start orbd -ORBInitialPort 1050
|
Note that 1050 is the port on which you
want the name server to run. -ORBInitialPort
is a required
command-line argument. When using Solaris
software, you must become root to start a process on a
port under 1024. For this reason, we
recommend that you use a port
number greater than or equal to 1024.
Tag | Description |
2. Start the servertool:
| |
To start the Hello server, enter:
|
Tag | Description |
|
servertool -ORBInitialPort 1050
|
Make sure the name server (orbd) port is the
same as in the previous step, for example,
-ORBInitialPort 1050. The servertool must
be started on the same port as the name server.
Tag | Description |
3.Start the Hello server from the servertool prompt:
|
Tag | Description |
|
servertool > register -server HelloServer -classpath .
-applicationName HelloServerApName
|
The servertool registers the server, assigns it
the name of "HelloServerApName", and displays its
server id.
|
Tag | Description |
4. Run the client application from another terminal window or prompt:
|
Tag | Description |
|
java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost
|
For this example, you can omit -ORBInitialHost
localhost since the name server is running on the
same host as the Hello client. If the name
server is running on a different host,
use -ORBInitialHost
nameserverhost to specify the host on which
the IDL name server is running.
Specify the name server (orbd) port as done in
the previous step, for example, -ORBInitialPort 1050.
Tag | Description |
5. When you have finished experimenting with
| |
the Server Manager, be sure to shut down or kill the name
server (orbd) and servertool.
|
To shut down orbd from a DOS prompt, select the
window that is running the server and enter Ctrl+C
to shut it down. To shut down orbdfrom a Unix
shell, find the process, and kill it. The server will
continue to wait for invocations until it is explicitly stopped.
To shut down the servertool, type quit
and press the Enter key on the keyboard.
SEE ALSO
servertool
|