To exchange messages between EMS and FTL, an EMS server acts as an FTL client as part of one FTL realm. All EMS transports for TIBCO FTL use the same TIBCO FTL realm. Some parameters are shared for every EMS transport instance. These parameters are found in tibemsd.conf.
1). To enable an EMS tranpsort for TIBCO FTL, set the following parameters in tibemsd.conf.
tibftl_transports
Globally enables or disables message exchange with TIBCO FTL. The default value is disabled. To use EMS transports for TIBCO FTL, you must explicitly set this parameter to enabled.
ftl_url
Specifies the URL at which the EMS server should connect to the realm server.
module_path
Specifies the location of the TIBCO FTL shared library files. For example, you can configure the following parameters in EMS main conf file.
tibftl_transports = enabled
ftl_url = http://<FTL realmserver hostname>:<FTL realmserver http port>
module_path = d:\tibco\ftl\5.0\bin
ftl_log_level=verbose
Note that given the EMS server joins the FTL realm as an FTL client, the EMS server name should be defined as an application name within FTL realm. The FTL realm server needs to be started prior to the EMS server since the EMS server needs to connect to the FTL ream server as an FTL client.
2). Define EMS transports for TIBCO FTL within transports.conf.
EMS transports mediate the flow of messages between TIBCO Enterprise Message Service and TIBCO FTL. For example, EMS transports are defined as following in transports.conf.
# import FTL messages to EMS
[ftl1.import]
type=tibftl
endpoint=receiver_ep
# export messages from EMS to FTL
[ftl1.export]
type=tibftl
endpoint=sender_ep
export_headers = true
export_properties = true
3). Destination definitions, in the configuration files topics.conf and queues.conf, can set the import and export properties to specify one or more EMS transports for TIBCO FTL.
"import" instructs tibemsd to import messages that arrive on those transports from TIBCO FTL and deliver them to the EMS destination. When a destination is configured to import a given tibftl transport, the EMS server creates a single FTL subscriber for the transport.
"export" instructs tibemsd to take messages that arrive on the EMS destination and export them to TIBCO FTL using those EMS transports for TIBCO FTL. When a destination is configured to export a given tibftl transport, the EMS server creates a single FTL publisher for the transport.
Example:
topics.conf:
export.topic export=ftl1.export, trace=body
queues.conf:
import.queue import=ftl1.import,trace=body
The attached (Filename: ftl_EMS_sample.zip) contains a working example of an FTL realm JSON file and EMS config files.