man TAO_ORB_Options (Commandes) - Common options for programs that use TAO

NAME

TAO_ORB_Options - Common options for programs that use TAO

SYNOPSIS

tao_program [ORB_options] [program_options]

DESCRIPTION

All programs relying on TAO understand the same set of parameters: the -ORB options that affect the ORB behaviour.

This manual page describe these parameters. Please note that the ORB behaviour can also be altered using a svc.conf. See TAO's documentation for help on that topic.

OPTIONS

-ORBSvcConf configfilename
Specifies the name of the file used to read service configuration directives via the Service Configurator framework. By default, a service configurator-based application will look for a file named svc.conf in the current directory.
-ORBSvcConfDirective directivestring
Specifies a service configuration directive, which is passed to the Service Configurator. You can pass multiple of these options on the same command-line.
-ORBDebug
Instructs the ORB to print debugging messages from the service configurator framework. This option does not have a value but is used as a toggle to enable or disable debugging messages.
-ORBDebugLevel level
Control the level of debugging in the ORB. Higher numbers generate more output (try 10). The default value of this option is 0.
-ORBVerboseLogging {0,1,2}
Controls the amount of status data printed on each line of the debug log. Higher numbers generate more output. The default value of this option is 0.
-ORBLogFile logfilename
Causes all ACE_DEBUG and ACE_ERROR output to be redirected to the designated filename.
-ORBObjRefStyle {IOR,URL}
Specifies the user-visible style of object references. The IOR style (default) is the conventional CORBA object reference, whereas the URL style looks more like a URL.
-ORBCDRTradeoff maxsize
Control the strategy to tradeoff between copy vs. no copy marshaling of octet sequences. If an octet sequence is smaller than maxsize (which defaults to ACE_DEFAULT_CDR_MEMORY_TRADEOFF) -- and the current message block contains enough space for it -- the octet sequence is copied instead of appended to the CDR stream.
-ORBCollocation {global,per-orb,no}
Specifies the use of collocation object optimization. If global is specified (default), objects in the same process will be treated as collocated. If per-orb is specified, only objects in the same ORB are treated as collocated. When no is specified, no objects are treated as collocated.
-ORBCollocationStrategy {thru_poa,direct}
Specifies what type of collocated object to use. If the thru_poa (default) strategy is used, TAO uses the collocation object implementation that respects POA's current state and policies. When using the direct strategy, method invocations on collocated objects become direct calls to servant without checking POA's status, which can increase performance. If you use the direct strategy, your interfaces must be compiled with the -Gd IDL compiler option.
-ORBNodelay {0,1}
Enable or disable the TCP_NODELAY option (Nagle's algorithm). By default, TCP_NODELAY is enabled.
-ORBRcvSock recv_size
Specify the size of the socket receive buffer as a positive, non-zero integer. If not specified, the ACE_DEFAULT_MAX_SOCKET_BUFSIZ default is used.
-ORBSndSock snd_size
Specify the size of the socket send buffer as a positive, non-zero integer. If not specified, the ACE_DEFAULT_MAX_SOCKET_BUFSIZ default is used.
-ORBStdProfileComponents {0,1}
If 0 then the ORB does not generate the OMG standardized profile components, such as the ORB type and code sets. Notice that the presence of this components is optional in GIOP 1.1 The default value is controlled by a compile-time flag (check orbconf.h).
-ORBSingleReadOptimization {0,1}
This option controls whether TAO's ``single read optimization'' is used when receiving requests. If this option is disabled (0), the ORB will do two reads to read a request: one reads the request header and the other reads the request payload. If this option is enabled (1), the ORB will do a read of size TAO_MAXBUFSIZE, hoping to read the entire request. If more than one request is read they will be queued up for processing later.
This option defaults to 1 because it can provide better performance. However, in the case of RT-CORBA, this option should be set to 0. Consider the following scenario:
•
two requests are read from one socket,
•
the additional request is queued, and
•
the ORB uses its Reactor's notification mechanism to wake up the follower threads.
If at the same time, however, new requests arrive on others sockets of higher priority the lower priority queued message will be processed before the newly arrived higher priority request since Reactor notifications are given preferences over normal I/O, thereby causing priority inversion.
-ORBDisableRTCollocation {0,1}
This option controls whether the application wants to use or discard RT collocation decisions made by the RT ORB. A value of 1 disables RT collocation decisions and falls back on the default collocation decisions implemented in the default ORB. This is very useful for applications using the RT ORB and doesn't want to use the RT collocation decisions but fallback on the default decisions for better performance. The default value is 0.
-ORBDefaultInitRef ior_prefix
This argument allows resolution of initial references not explicitly specified with -ORBInitRef. It requires a URL prefix that, after appending a slash `/' (`|' for the UIOP pluggable protocol) and a simple object key, forms a new URL to identify an initial object reference. The URL prefix format currently supported is based on the standard corbaloc mechanism in the CORBA Interoperable Naming Service.
-ORBDottedDecimalAddresses {0,1}
Use the dotted decimal notation for addresses. This option can be used to workaround broken DNS implementations and may also reduce the time spent resolving IP addresses. By default, this option is disabled (0) since domain names are the standard address notation for IORs.
-ORBEndpoint endpoint
This option is similar to the -ORBListenEndPoints option described below. This option will be deprecated in later versions on TAO since the CORBA specification now defines the -ORBListenEndpoints option instead.
-ORBListenEndpoints endpoint
This option was introduced with the CORBA ORT (Object Reference Template) specification. It instructs a server ORB to listen for requests on the interface specified by endpoint. TAO endpoints are specified using a URL style format. An endpoint has the form: `protocol://V.v@addr1,...,W.w@addrN' where V.v and W.w are optional protocol versions for each address. An example of an IIOP endpoint is: `iiop://hostname:port'
Sets of endpoints may be specified using multiple -ORBEndpoint options or by delimiting endpoints with a semi-colon (`;'). For example, `-ORBEndpoint iiop://localhost:9999 -ORBEndpoint uiop:///tmp/mylocalsock -ORBEndpoint shmiop://10002' is equivalent to: `-ORBEndpoint 'iiop://localhost:9999;uiop:///tmp/mylocalsock;shmiop://10002'' Notice the single quotes (') in the latter option specification. Single quotes are needed to prevent the shell from interpreting text after the semi-colon as another command to run. If an endpoint is specified without an addr such as the following: `-ORBEndpoint uiop:// -ORBEndpoint shmiop://' then a default endpoint will be created for the specified protocol.
-ORBImplRepoServicePort portspec
Specifies which port the Implementation Repository is listening on for multicast requests. By default, the TAO_DEFAULT_IMPLREPO_SERVER_REQUEST_PORT (10018) is used.
-ORBInitRef ObjectId=IOR
Allows specification of an arbitrary object reference for an initial service. The IOR could be in any one of the following formats: OMG IOR, URL, corbaloc (including uioploc) or file. corbaloc is a multiple end-point IOR understood by ORB::string_to_object() and used as a boot-strapping mechanism by the ORB::resolve_initial_references(). The mappings specified through this argument override the ORB install-time defaults. The file://pathname interprets the contents of the pathname file as an object reference in any of the above formats.
-ORBMulticastDiscoveryEndpoint endpoint
Specifies the endpoint that should be used for locating the Naming Service through multicast. endpoint is of the form ip-number:port-number (e.g., "tango.cs.wustl.edu:1234" or "128.252.166.57:1234"). If there is no `:' in the endpoint it is assumed to be a port number, with the IP address being INADDR_ANY.
-ORBNameServicePort portspec
Specifies which port the Naming Service is listening on for multicast requests. By default, the TAO_DEFAULT_NAME_SERVICE_REQUEST_PORT (10013) value is used.
-ORBTradingServicePort portspec
Specifies to which port the Trading Service is listening on for multicast requests. By default, the TAO_DEFAULT_TRADING_SERVICE_REQUEST_PORT (10016) value is used.
-ORBUseIMR {0,1}
This argument specifies that for POAs with the PERSISTENT policy, that the TAO Implementation Repository should be used for notification of startup and shutdown and object references should be changed to use the Implementation Repository also.
-ORBId orb_name
This option allows the name of an ORB to be set to orb_name. The ORBId will be passed to the ORB_init() method to differentiate coexisting ORBs (when there are more than one ORBs).
-ORBServerId server_id
This option allows setting a name/id to a server to uniquely identify a server to TAO's Implementation Repository.
-ORBDaemon
Specifies that the ORB should daemonize itself, i.e., run as a background process. This option is only meaningful on OS platforms that support daemonization.

ENVIRONMENT VARIABLES

Environment variables have a limited use in TAO ORB configuration. The currently supported environment variables are listed below. They are used to specify the IOR and port numbers for three of TAO's ORB services.

NameServicePort
Specifies which port the Naming Service is listening on for multicast requests.
TradingServicePort
Specifies which port the Trading Service is listening on for multicast requests.
ImplRepoServicePort
Specifies which port the Implementation Repository is listening on for multicast requests.

In addition to being able to define the port where these known services are listening for multicast requests, as above, it is possible to set an environment variable that specifies the IOR of any named service. For example NameServiceIOR=which, TradingServiceIOR=which, ImplRepoServiceIOR=which, MyServiceIOR=which. This will have a similar effect to defining an -ORBInitRef value on the command line (see above). Any value set as a command line -ORBInitRef option will override any value set as an environment variable for the same service name. In general, setting environment variables is not particularly portable or convenient, which is why users can also set these options via command-line options.

AUTHOR

Douglas C. Schmidt <schmidt@cs.wustl.edu>