How to configure the StreamBase EMS adapters for a fault-tolerant EMS server cluster

How to configure the StreamBase EMS adapters for a fault-tolerant EMS server cluster

book

Article ID: KB0083496

calendar_today

Updated On:

Products Versions
TIBCO Streaming -

Description

If a fault-tolerant configuration for EMS is required, how to configure the EMS adapters to use all EMS servers in the cluster?

Issue/Introduction

How to configure the StreamBase EMS adapters for a fault-tolerant EMS server cluster

Resolution

If the EMS servers are configured as a shared-state fault-tolerant pair, then you should give a comma-separated (NOT semi-colon) list of EMS Server URLs in the sbconf file. The same is true if you switch over to JNDI-based connection factory lookup: provide a comma-separated list of JNDI Server URLs.

For example: https://docs.tibco.com/pub/ems/8.3.0/doc/html/wwhelp/wwhimpl/js/html/wwhelp.htm, Chapter 21. Fault Tolerance, Configuring Clients for Shared State Failover Connections

If the EMS pair is set up as an unshared state pair, it still works, but you must use a different ConnectionFactory class: com.tibco.tibems.ufo.TibjmsUFOConnectionFactory

This class has a constructor that takes a single string that is a comma-separated list of EMS server URLs.

See, for example: https://docs.tibco.com/pub/ems/8.3.0/doc/html/wwhelp/wwhimpl/js/html/wwhelp.htm, Chapter 21. Fault Tolerance, Configuring Clients for Unshared State Failover Connections.

See https://docs.tibco.com/pub/ems/8.3.0/doc/html/TIB_ems_api_reference/api/javadoc/com/tibco/tibems/ufo/TibjmsUFOConnectionFactory.html

Also note that you never need to configure both connection factory URLs *and* JNDI URLs. It's one or the other, as these are two separate ways to get ConnectionFactory objects back from EMS.

We would recommend the following in your sbconf:
 
connection-factory-url="tcp://server1:47222, tcp://server2:47222"

For the unshared state server case, IN ADDITION, you would replace..
 
connection-factory-class="com.tibco.tibjms.TibjmsTopicConnectionFactory"

..with:
 
connection-factory-class="com.tibco.tibems.ufo.TibjmsUFOConnectionFactory"