3

I am doing a JMS connection using Java. The command I am using to establish connection is

QueueConnectionFactory factory = 
  new com.tibco.tibjms.TibjmsQueueConnectionFactory(JMSserverUrl);

Where JMSServerUrl is the varible which stores my JMS URL.

Now the problem is that I need to add the fault tolerance URL i.e two different URL's. So can any one tell me how can I specify two URLs together in the above code sample such that if first URL is not accessible it should try connecting to the other URL.

oluies
  • 17,694
  • 14
  • 74
  • 117
Kapil
  • 832
  • 2
  • 14
  • 29

2 Answers2

3

Put all URLs in a single string with a comma between them.

new TibjmsQueueConnectionFactory("ssl://host01:20302,ssl://host02:20302");

Caution, I am a Tibco EMS newbie, but this seems to work, as evidenced by the error I can get ...

javax.jms.JMSSecurityException: Failed to connect to any server at:
ssl://host01:20302,ssl://host02:20302 
[Error: Can not initialize SSL client: no trusted certificates are set: 
url that returned this exception = SSL://host01:20302 ]
Synesso
  • 37,610
  • 35
  • 136
  • 207
0

The .NET documentation for tibco(I know your using java) suggests that you can provide a comma delimited list of server URL's for messaging connections. Bear in mind that I don't have any real tibco experience, but this is a common way to handle initial connection fault tolerance(i.e. prior to establishing a connection and receiving information about the cluster, after which failover is typically handled by the connection). It may be worth a try. Another solution that I have seen to this problem is creating a virtual IP and handling fault tolerance at the Network Level.

nsfyn55
  • 14,875
  • 8
  • 50
  • 77