Also, the most common (I think) broker configuration will auto-create a
destination if a client tries to use it and it doesn't exist.  So if you
delete the destination while a consumer is still connected, won't the
broker just immediately recreate it?  If implemented, would this
enhancement actually do what you want?

It seems like you need some means for the consumer to figure out that the
producer is done and disconnect itself, which would then let the existing
destination GC logic work without this enhancement.
On Feb 1, 2015 9:29 PM, "artnaseef" <a...@artnaseef.com> wrote:

> Something has me confused here.  If there is a consumer, why would messages
> sit around unconsumed?
>
> Also, I have trouble understanding why one would want the broker to remove
> a
> destination while it has a consumer -- what is the consumer doing with the
> destination then, and what is expected to happen to the consumer?
>
> Also, if messages are sitting in a queue, the queue cannot be GC'ed -
> otherwise the broker is losing messages.  A good solution there may be the
> use of message TTLs.
>
> Perhaps a review of the architecture would help to determine the best way
> to
> fit ActiveMQ and the application to the problem.
>
> BTW, it sounds like the application may have a consumer leak.  Consumers
> can
> be thought of as the center of purpose for a destination.  A destination
> that never has consumers would be a bit-bucket, or worse - a
> continually-growing message store.  Consumers that don't expect to receive
> messages cannot be distinguished by ActiveMQ from those that do expect to
> receive messages.
>
> Hope this helps.
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-should-GC-inactive-when-producers-is-0-even-if-consumers-is-0-tp4690776p4690797.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Reply via email to