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