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"