After looking at this further, its exactly what MDB pooling is for
(afaics).  I had previously said that JMS did support mutli-threading, if
the client wanted it... on re-reading the spec, it basically says that the
client can create multiple sessions if they desire multi-threaded receipt
of messages (see 4.4.17 of the JMS spec).  

So I think this would resolve the issue you raise of messages in the
queue?

cheers
dim

On Tue, 23 Oct 2001, Dmitri Colebatch wrote:

> ok, I think my misunderstanding of JBossMQ must be wrong.  My thoughts
> were that in the scenario you described each "A" will be processed in
> turn, _but by its own thread_, so if one were to have an unlimited thread
> pool, then there would be minimal delay between the "A" and "B", in a more
> realistic scenario you would obviously be limited by hardware resources,
> but I think this will also apply in the multiple queue scenario you
> describe.  I would have thought that there was one thread pool, shared by
> many queues.  Could someone please clarify the messaging dispatching
> behaviour of JBossMQ?  (I'll also go run a test when I get to work)..
> 
> Re delivery order, my understanding is that JMS does not guarentee order,
> I had assumed part of the reason for that was the scenario you describe.
> 
> cheers, 
> dim
> 
> On Mon, 22 Oct 2001, David Jencks wrote:
> 
> > I don't think the number of mdb's processing the queue affects my argument.
> > 
> > Lets say processing A takes 1 sec, processing B takes 1 ms.  A puts its
> > processed messages back on the same queue as it gets them from, dispatcher
> > sorts them to A, B, or Done.
> > 
> > if we start with the queue like
> > 
> > AAAAAAAA(10,000 A's)...AAAA
> > 
> > after 10 A's are processed the queue will look like this
> > 
> > AAAAAAAA(9,990 A's)...AAAABBB(10 B's)B
> > 
> > Since the queue is processed in order, the first B will be processed after
> > the last A.
> > 
> > With separate output queues, after 10 A's,
> > AAAAAAAA(9,990 A's)...AAA
> > 
> > and 
> > 
> > BBB(10 B's)
> > 
> > The B's can get to work right away (if you have enough hardware or the
> > thread scheduler lets them, presumably)
> > 
> > Did I miss something? It seems to me this is a direct consequence of the
> > "messages delivered in order" contract.
> > 
> > david jencks
> > 
> > 
> > 
> > 
> > On 2001.10.22 02:30:42 -0400 Dmitri Colebatch wrote:
> > > On Mon, 22 Oct 2001, David Jencks wrote:
> > > 
> > > > > I'm not sure if I quite get what you mean here.  The tasks in each
> > > > > message
> > > > > would need to be done in order, but thats only a dependency thing, I
> > > > > haven't really considered the situation where we have four tasks, A,
> > > B, C
> > > > > and D - with B and C requiring A's output, and D requiring B and C's
> > > > > output - is that what you're talking about?
> > > > 
> > > > That's one problem, I was thinking more of this one:
> > > > Lets say we always need tasks A and B. A is long, B is very quick.
> > > > 
> > > > All of a sudden, we get 10,000 messages - in less time than it takes to
> > > do
> > > > one A.  If the results of A are fed back into the same queue, all the
> > > B's
> > > > have to wait for every A to complete.  This is definitely not what you
> > > > want;-).  Feeding the output of A into a separate queue fixes this, but
> > > > then the advantages of your scheme become slightly diluted... you need
> > > > separate output queues for each task anyway, unless each message has a
> > > > different set of tasks why have the overhead of the dispatcher.
> > > 
> > > ahhh, ic.  ok, probably showing my greenness on MDB, but afaik you can
> > > specify that a JMS listener is multi-threaded if you want, its just not
> > > hte default.  I'm assuming that the same is possible (perhaps not
> > > currently) at a MDB level?
> > > 
> > > that would solve your concern, yes?
> > > 
> > > re the output queues.  I dont see such a thing.  Any output gets put in
> > > the method invocation object, and passed around as required.  Do you see
> > > a
> > > reason why this wouldn't work / isn't as good as multiple queues?
> > > 
> > > cheers
> > > dim
> > > 
> > > 
> > > 
> > > _______________________________________________
> > > JBoss-user mailing list
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/jboss-user
> > > 
> > > 
> > 
> > _______________________________________________
> > JBoss-user mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-user
> > 
> 
> 
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-user
> 


_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to