JMS-Verbindungs-Pooling oder Session-Pooling

8

Ich bin verwirrt zwischen JMS Connection Pooling und JMS Session Pooling.

Ich habe eine Java-Anwendung, die ungefähr 20 Threads verarbeitet, die Nachrichten von einem Herstellerprodukt empfangen. Jeder Thread führt eine Verarbeitung der Nachricht durch, bevor er an ein JMS-Thema weiterreicht (dasselbe Thema für alle 20 Threads).

Ich möchte sicherstellen, dass keine Threads auf freie JMS-Verbindungen warten, da die Leistung entscheidend ist. Wenn ich jedoch die JMS-Verbindungsfabriken betrachte, kann ich keine Möglichkeit sehen, eine Poolgröße für meine JMS-Verbindungen zu konfigurieren.

Jetzt bin ich wirklich verwirrt. Sind es die JMS-Sitzungen, die ich zusammenlegen sollte?

Jede Hilfe zu diesem sehr geschätzten

Danke Joe

    
user1496620 02.07.2012, 16:38
quelle

2 Antworten

6

Von der J2EE 6 api einer javax.jms.Connection

  

steht normalerweise für einen offenen TCP / IP-Socket zwischen einem Client und der Service Provider-Software.

und

  

Ein Session-Objekt ist ein single-threaded-Kontext zum Erstellen und Verwenden von Nachrichten.

Eine Sitzung (oder ein Sitzungspool) tritt im Kontext einer Verbindung auf.

Wahrscheinlich möchten Sie feststellen, ob Sitzungen, Verbindungen oder keine dieser Sitzungen zusammengelegt werden sollen, und zwar auf der Grundlage der Kosten für die Erstellung dieser Ressourcen im Rahmen Ihres spezifischen Technologie-Stacks, der zugehörigen Frameworks und Anwendungen.

Meine Ressourcen:

eebbesen 30.09.2013 20:26
quelle
0

Ich kenne eine Methode aus der PooledConnectionFactory-Klasse, mit der Sie die maximale Anzahl der Verbindungen festlegen können. Methode ist setMaxConnections. Dies ist jedoch Teil Antwort auf Ihre Frage.

    
Manglesh 08.01.2013 16:05
quelle