In the next major version (trunk branch) we have made some major
strides in this area so that messages just go to disk on your senario
instead of being buffered in memory. But all buffers (even ones on
disks) have limits and will eventually be reached. So you have to
detect dead clients anyways to avoid running out of disk space.
On 3/6/07, rabidgremlin wrote:
> Hi Hiram,
>
> Yep if you kill off the JVM of the broken publisher then things kick back
> into action....
>
> Not sure this is good "expected behaviour". A misbehaving listener should
> not stop the publisher or other consumers from working.
>
> I would have hoped that the connections between the broker and the
> publishers and the consumers would be divorced so that this kinda of thing
> could not happen.
>
> Is there a way to configure ActiveMQ to do this ? Perhaps having seperate
> in-memory queues for consumers or by turning on persistance ?
>
> Jonathan
>
> On 3/7/07, Hiram Chirino wrote:
> >
> > if you kill the JVM of the broken listener does the publisher
> > un-block? If so then this is the expected behaviour. The reason for
> > this is that even though the listner is logically broken, (it's not
> > receiving messages anymore), the broker does not know this since it
> > still has an active connection with the broker. Furthermore, the
> > broker is blocking the publisher because it is queueing up messages in
> > memory for that dead consumer.
> >
> >
>
--
Regards,
Hiram
Blog: http://hiramchirino.com