Transport Definitions
transports.conf contains zero or more transport definitions. Each definition begins with the name of a transport, surrounded by square brackets. Subsequent lines set the parameters of the transport.
Parameter | Description |
---|---|
type | Required. For Rendezvous transports, the value must be either tibrv or tibrvcm. |
Rendezvous Parameters
Use these properties for either tibrv or tibrvcm transports. The syntax and semantics of these parameters are identical to the corresponding parameters in Rendezvous clients. For full details, see the Rendezvous documentation set. |
|
service | When absent, the default value is 7500. |
network | When absent, the default value is the host computer’s primary network. |
daemon | When absent, the default value is an
rvd process on the local host computer. When transporting messages between EMS and Rendezvous, the rvd process must be configured to run on the same host as the EMS daemon (tibemsd).
To connect to a non-default daemon, supply protocol:hostname:port. You may omit any of the three parts. The default protocol is tcp. The default hostname is the local host computer. The default port is 7500. |
Rendezvous Certified Messaging (RVCM) Parameters
Use these properties only for tibrvcm transports. The syntax and semantics of these parameters are identical to the corresponding parameters in Rendezvous CM clients. For full details, see the Rendezvous documentation set. |
|
cm_name | The name of the correspondent RVCM listener transport. |
rv_tport | Required. Each RVCM transport depends in turn upon an ordinary Rendezvous transport. Set this parameter to the name of a Rendezvous transport (type tibrv) defined in the EMS configuration file transports.conf. |
ledger_file | Name for file-based ledger. |
sync_ledger | true or false. If true, operations that update the ledger do not return until changes are written to the storage medium. |
request_old | true or false. If true, this transport server requests unacknowledged messages sent from other RVCM senders while this transport was unavailable. |
default_ttl | This parameter sets default CM time limit (in seconds) for all CM messages exported on this transport. |
explicit_config_only | true or
false. If
true,
tibemsd allows RVCM listeners to register for certified delivery only if they are configured in advance with the EMS server (either in
tibrvcm.conf or using the
create rvcmlistener command). That is,
tibemsd ignores registration requests from non-configured listeners.
If false (the default), tibemsd allows any RVCM listener to register. |
EMS Parameters
Use these properties for either tibrv or tibrvcm transports. |
|
topic_import_dm
queue_import_dm |
EMS sending clients can set the
JMSDeliveryMode header field for each message. However, Rendezvous clients cannot set this header. Instead, these two parameters determine the delivery modes for all topic messages and queue messages that
tibemsd imports on this transport.
TIBEMS_PERSISTENT | TIBEMS_NON_PERSISTENT | TIBEMS_RELIABLE When absent, the default is TIBEMS_NON_PERSISTENT. |
export_headers | When
true,
tibemsd includes JMS header fields in exported messages.
When false, tibemsd suppresses JMS header fields in exported messages. When absent, the default value is true. |
export_properties | When
true,
tibemsd includes JMS properties in exported messages.
When false, tibemsd suppresses JMS properties in exported messages. When absent, the default value is true. |
rv_queue_policy | Set the queue limit policy for the Rendezvous queue used by the transport to hold incoming Rendezvous messages. This parameter has three parts:
policy:max_msgs:qty_discard where policy is one of the queue limit policies described below, max_msgs is the maximum number of messages permitted in the queue before discard, and qty_discard is the number of messages that the EMS server discards when max_msgs is reached. The queue limit policies are:
For example, the following would cause the Rendezvous library to discard the 100 oldest messages in the queue when the total number of messages in the queue reached 10,000: rv_queue_policy=TIBRVQUEUE_DISCARD_FIRST:10000:100 If the rv_queue_policy is not present, the default queue limit policy is TIBRVQUEUE_DISCARD_NONE. |
temp_destination_timeout | Specifies the amount of time the server is to keep the temporary destination (created for the RV inbox) after its last use of the destination. This is useful for a multi-server configuration. For example, in a configuration in which rv-requester -> serverA -> serverB -> rv-responder, setting temp_destination_timeout=60 on serverB specifies that serverB is to hold the temporary destination for 60 seconds. |
Example
These examples from transports.conf illustrate the syntax of transport definitions.
[RV01] type = tibrv topic_import_dm = TIBEMS_RELIABLE queue_import_dm = TIBEMS_PERSISTENT service = 7780 network = lan0 daemon = tcp:host5:7885 [RV02] type = tibrv service = 7890 network = lan0 daemon = tcp:host5:7995 temp_destination_timeout = 60 [RVCM01] type = tibrvcm export_headers = true export_properties = true rv_tport = RV02 cm_name = RVCMTrans1 ledger_file = ledgerFile.store sync_ledger = true request_old = true default_ttl = 600
In the following two examples, RVCM03 is an RVCM transport which does not define a queue limit policy, but references the RV transport RV03, which does have a queue limit policy. If Rendezvous messages are published to a subject that in EMS has the destination property import=RVCM03, no Rendezvous message will ever be discarded because each transport uses its own queue. Only messages that are imported directly through the RV03 transport will potentially be discarded, should the queue limit of 10000 messages be reached.
[RV03] type = tibrv service = 7890 network = lan0 daemon = tcp:host5:7995 rv_queue_policy = TIBRVQUEUE_DISCARD_LAST:10000:100 [RVCM03] type = tibrvcm rv_tport = RV03 cm_name = RVCMTrans2 ledger_file = ledgerFile2.store sync_ledger = true request_old = true default_ttl = 600