activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From drvillo <>
Subject Re: Configuring session/connection pooling to maximize throughput
Date Tue, 09 Jan 2007 10:45:26 GMT


ok, interesting, I didn't know this. My doubt about connections
originated by seeing that by default 12 connections are created, of
which only one per destination is used.

Abdul Alhazred wrote:
> Do you actually NEED multiple connections?
> IIRC each Session is effectively a thread of execution. I'm not sure how
> exactly pulling messages off the
> connection is implemented without going through the code, but just from a
> basic understanding of how
> JCA and the J2EE container normally manage resources it wouldn't seem to
> me to be required to have
> several connections. As messages come in on the one connection they should
> get dispatched to the
> MDB container in parallel via different sessions (or at least the internal
> implementation aught to be the
> same effect). I guess the results could depend on J2EE container
> internals, but it seems to me any good
> implementation should give good performance with one connection in
> general.
> drvillo wrote:
>> Hi all
>> I have some problems understanding how connection/session
>> pooling with jencks works, I would apreciate if someone could give me 
>> some help...
>> I understand the use of maxSessions on an activationspec, and also
>> what the threadpool attribute of a JCAContainer is for. 
>> What I don't get, is why if I specify maxSessions=1 I still
>> see that messages are consumed by multiple threads (looking 
>> at the logs). This is in principle fine with me, as threads are retrieved
>> by a pool but reading this 
>> it seems that I should see always the same one consuming messages.
>> Another thing about pooling: why I get always
>> a single subscription on  a queue, even if pooling the listeners with a 
>> TargetSourceMessageListener? What is the point of having a pool
>> of identical stateless listeners if they all share the same connection?
>> My primary objective is to maximize throughput, thus I'd like to have
>> a pool of listeners which consume messages using multiple connections,
>> is it possible to do so using a single JCAConnector or I have to 
>> statically declare more of them?
>> Wrapping up, are these two arguments (tweaking maxSessions, threadPool
>> and such, and 
>> having more parallelism) related?
>> I hope someone can help me on this, it's pretty hard to tune a system
>> without understanding the effect of its parameters...
>> Thanks a lot
>> Francesco

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message