Message Driven Bean mit Java Message Queue nach unten
-
20-09-2019 - |
Frage
ich habe folgendes Problem meine Anwendung bereitstellen.
Es verwendet JMS und einen Remote-OpenMQ für die Kommunikation zwischen Servern. Das Problem ist, dass die Verbindung nicht vollständig zuverlässig ist, so dass es oder unten sein kann. Für Wiederverbindung stelle ich die jms Glasfischen Eigenschaft wieder so verbindet es zu einem bestimmten Zeitpunkt, wenn die Verbindung verloren geht. Das Problem entsteht, wenn ich versuche, um die Anwendung zu implementieren und es besteht keine Verbindung. Es sieht aus wie hält er die Verbindung Retrying aber die Anwendung nicht beendet Einsatz, bis die Verbindung zur Verfügung steht.
Ist es möglich, sie in irgendeiner Weise zu konfigurieren, dass der Einsatz fortgesetzt, auch wenn keine Verbindung besteht und hält Erneuter Versuch, bis Verbindung zur Verfügung steht?
Vielen Dank.
Bearbeiten : Ich versuche, die MDB-Initialisierung in einem anderen Thread ausgeführt werden. Ich habe versucht, beide
Ich versuche, einen anderen Thread auf die MDB auf zwei Arten zuweisen wechselnden Sonnen ejb.jar.xml
<bean-pool>
<steady-pool-size>1</steady-pool-size>
<resize-quantity>1</resize-quantity>
<max-pool-size>1</max-pool-size>
<pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
</bean-pool>
und auch mit
<use-thread-pool-id>a-new-thread-pool</use-thread-pool-id>
Aber ich hatte kein Glück. Sieht aus wie es für diesen Thread zu Ende warten, da es so aussieht, es ist den neuen Thread bekommen, aber es wartet darauf, dass Thread so beginnt Anwendung zu beenden zu beenden, in meinem Fall Anwendung nicht ordnungsgemäß bereitgestellt bekommt ..
Edit 2 Ich habe versucht, jms Service in einem anderen Thread auch ...
laufenasadmin create-resource-adapter-config --threadpools a-new-thread-pool jmsra
Kein Glück auch.
Lösung
Mit Glassfish Standard-JMS-Provider das ist unmöglich. Ich schaffte es schließlich, dies zu tun durch JCA Ändern Adapter
Andere Tipps
Können Sie sich einen separaten Thread von Laich, dass eine Verbindung mit dem JMS, so dass die Hauptanwendungen halten ohne Lauf blockiert wird.