2016-07-06 14 views
1

Wenn mein MQ-Server nicht mehr verfügbar ist, hängt der Aufruf von QueueConnectionFactory.createQueueConnection() und schließlich (1-2 Minuten später) "javax.transaction.TransactionRolledbackException: Transaction wird beendet Timeout "wird ausgelöst.QueueConnectionFactory.createQueueConnection() gibt keine Ausnahme zurück oder gibt eine Ausnahme aus

Ich kann keinen JavaEE-Aufruf finden, um eine Zeitüberschreitung für die Funktion festzulegen.

Gibt es eine Möglichkeit, diese Funktion schneller auszufallen oder eine Ausnahme auf WebSphere auszulösen, wenn der MQ-Server nicht erreicht werden kann?

Auf die QCF wird durch Abhängigkeitsinjektion zugegriffen.

+1

Wenn der MQ-Server nicht aktiv ist, sollte keine 'IOException' ausgelöst werden? Bitte klären Sie, ob mir hier etwas fehlt. – Haxiel

+0

Ich würde so etwas erwarten und es ist das, was ich will, aber das passiert nicht für mich. Der Aufruf von createQueueConnection() hängt einfach und der EJB-Container überschreitet schließlich die Transaktion. createQueueConnection() steckt möglicherweise in einer Schleife fest, die versucht, die Verbindung zum Server wiederherzustellen. Ich weiß es nicht. Ich habe versucht, die erweiterte QCF-Eigenschaft reconnect = DISABLED zu setzen, aber mit dem gleichen Verhalten. – tzimnoch

+0

Eine zusätzliche Klarstellung: Tritt das Transaktionszeitlimit auf, wenn die Anwendung _while_ verbindet, während das QMGR ruht? Was passiert, wenn Sie versuchen, nachdem das QMGR vollständig heruntergefahren wurde? – Haxiel

Antwort

1

Ich denke, in der Regel würde dies verwaltungstechnisch mit config statt programmgesteuert in Ihrem App-Code behandelt werden. Z.B. für einige Beispiele siehe this article.

Nicht sicher, dass Sie mit der Konfiguration der WebSphere Connection Pooling-Einstellungen auch nicht viel anfangen können. Dies scheint darauf hinzuweisen, den MQ-Provider selbst zu konfigurieren (z. B. die Kanäle).

+0

Ich sehe keine Antwort auf mein Problem mit dem Link, aber es gibt viele wertvolle Informationen über den Umgang mit MQ-Server-Unterbrechungen, mit denen ich noch nicht begonnen habe. Vielen Dank. – tzimnoch

Verwandte Themen