2017-12-14 5 views
1

Ich versuche, eine Verbindung zu meinen MQ-Servern herzustellen. Ich habe 2 MQ Server: Server 1 und Server 2 und setzen Sie es als connectionNameList für . Gibt es eine Möglichkeit für MQ, eine Verbindung zu Server 1 herzustellen, wenn Server 2 fehlgeschlagen ist? Wie kann ich wissen, ob der MQ-Server verbunden ist? Ich habe gesehen, dass clientReconnectOptions auf 67108864 eingestellt ist, aber ich bin mir nicht sicher, was das ist.Wie überprüft man, ob MQ verbunden ist

+0

Ja, es ist auf Java – RLe

+0

Hallo, es ist die ibm mq-Klasse für JMS – RLe

+0

Kannst du ein Beispiel von dem, was Sie versucht haben, posten? – JoshMc

Antwort

1

Die möglichen Einstellungen für ClientReconnectOptions werden in der IBM MQ Wissenszentrum Seite dokumentiert CLIENTRECONNECTOPTIONS

Im Folgenden wird ein Beispiel unter Verwendung von setClientReconnectOptions einzustellen, so kann die Anwendung in jedem WS-Manager auf den beiden Host (Port) Kombinationen Auflistung wieder Set in der connectionNameList.

MQQueueConnectionFactory factory = new MQQueueConnectionFactory(); 

factory.setQueueManager("QMNAME"); 
factory.setChannel("SVRCONN.CHL"); 
factory.setConnectionNameList("hostName1(port),hostName2(port)"); 
factory.setClientReconnectOptions(WMQConstants.WMQ_CLIENT_RECONNECT); 

// Set the amount of time you will attempt to reconnect in seconds 
factory.setClientReconnectTimeout(43200); //12 hours 
//default is 1800 seconds 
//factory.setClientReconnectTimeout(WMQConstants.WMQ_CLIENT_RECONNECT_TIMEOUT_DEFAULT); 

Hinweis, dass die Kunden nicht immer wieder zu verbinden versuchen, finden Sie im folgenden von der endmqm Manpage auf Linux:

Wenn Sie endmqm Ausgabe einen WS-Manager zu stoppen, wiederanschließbar Kunden tun nicht versuchen neu verbinden. Um dieses Verhalten zu überschreiben, geben Sie entweder die Option -r oder -s an, damit Clients versuchen können, die Verbindung wiederherzustellen.

Hinweis: Wenn ein Warteschlangenmanager oder ein Kanal unerwartet beendet wird, versuchen erneut verbindbare Clients , die Verbindung erneut herzustellen.

+0

Danke ich habe es funktioniert durch Setup der ClientreconnectionTimeOut – RLe

+0

Froh, zu helfen, ich danke Ihnen für das Akzeptieren. Mit welchem ​​Wert bist du gegangen? – JoshMc

+0

Hallo Ich ging mit diesen 2 Optionen und es funktioniert ClientReconnectOptions = 67108864 und ClientReconnectTimeout = WMQConstants.WMQ_CLIENT_RECONNECT_TIMEOUT_DEFAULT – RLe

Verwandte Themen