2012-07-02 9 views
8

Sono confuso tra il pool di connessioni JMS e il pool di sessioni JMS.Pool di connessioni JMS o pool di sessioni

Ho un'applicazione Java con circa 20 thread che elaborano i messaggi ricevuti da un prodotto fornitore. Ogni thread esegue alcune elaborazioni del messaggio prima di passare a un argomento JMS (stesso argomento per tutti e 20 i thread).

Voglio garantire che non ci siano thread in attesa di connessioni JMS libere in quanto le prestazioni sono fondamentali. Tuttavia, quando guardo le factory di connessione JMS non riesco a vedere alcun modo per configurare una dimensione del pool per le mie connessioni JMS.

Ora sono davvero confuso. Sono le sessioni JMS che dovrei condividere?

Qualsiasi aiuto su questo molto apprezzati

Grazie Joe

risposta

0

so un metodo dalla classe PooledConnectionFactory con cui è possibile impostare il numero massimo di connessione. il metodo è setMaxConnections. questa è comunque una risposta parziale alla tua domanda.

6

Da the J2EE 6 api un javax.jms.Connection

rappresenta tipicamente un socket TCP/IP aperta tra un client e il software di fornitore di servizi.

e

Un oggetto Session è un contesto thread singolo per la produzione e il consumo di messaggi.

Una sessione (o un pool di sessioni) si verifica nel contesto di una connessione.

Probabilmente si desidera determinare se raggruppare sessioni, connessioni o nessuna di quelle basate sul costo di creazione di queste risorse da zero nel contesto del proprio stack tecnologico, framework e applicazioni coinvolti.

mie risorse: