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:

  • TIBRVQUEUE_DISCARD_NONE — do not discard messages. Use this policy when the queue has no limit on the number of messages it can contain.
  • TIBRVQUEUE_DISCARD_FIRST — discard the first message in the queue. The first message in the queue is the oldest message, which if not discarded would be the next message dispatched from the queue.
  • TIBRVQUEUE_DISCARD_LAST — discard the last message in the queue. The last message is the most recent message received into the queue.

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