Dies ist eine sehr häufige und akzeptable Praxis, wenn es um langlebige Verbindungen geht. Für viele JMS-Server ist es in der Tat vorzuziehen, eine neue Verbindung jedes Mal zu erstellen, wenn sie benötigt wird.
Einverstanden. Hier sind einige gute Tipps zur effizienten Verwendung von JMS , die das Beibehalten von Verbindungen umfassen / Sitzungen / Produzenten / Verbraucher.
Sie können auch die Empfehlung zur Verwendung von Transaktionen prüfen, wenn Sie daran interessiert sind Maximierung der Leistung.
Die Entscheidung, Verbindung / Sitzung / Erzeuger / Verbraucher lange offen zu halten, sollte auf der Häufigkeit basieren, mit der der Produzent / Verbraucher Nachrichten sendet / empfängt.
Wenn ein Produzent sendet oder ein Verbraucher häufig Nachrichten empfängt, sollten die Verbindungen / Sitzungen / Erzeuger / Verbraucher offen gehalten werden. Auf der anderen Seite, wenn Nachrichten senden / empfangen selten ist, dann ist es nicht gut, diese JMS-Objekte offen zu halten, verbraucht Systemressourcen wie Sockets.
In unserer App werden Verbindungen / Sitzungen / Konsumenten / Produzenten für mehrere Monate geöffnet sein. Wir mussten mit unserem Hersteller (BEA) zusammenarbeiten, um das zuverlässig zu machen. Aber irgendwelche Probleme damit ist ein Bug, den der Verkäufer beheben muss.
Zu Ihrer Information: Es ist nicht notwendig, die Sitzungen, Produzenten und Konsumenten einer geschlossenen Verbindung zu schließen ( javax.jms.Connection ). Der folgende Code sollte ausreichen, um die Ressourcen freizugeben:
%Vor%