Look at slow consumers. Set consumer window size to 0 on this consumer.
On Thu, Sep 29, 2022 at 6:01 PM John Lilley
<[email protected]> wrote:
> We have an application that should read a single message from a queue (a
> “job” queue) and then stop processing more messages. Think of it as a
> “batch request”. This is entirely using the JMS driver. Is there a good
> pattern for this?
>
>
>
> Under ActiveMQ 5, I call consumer.close(), session.close() from
> onMessage() and that works fine. However, session.close() is not allowed
> under Artemis (and maybe it was always wrong).
>
>
>
> I’ve tried calling only consumer.close(), and leave the session open. But
> the message is not ACked. Explicitly calling message.acknowledge() doesn’t
> work either, because it gets to >>> and individualAck is false:
>
>
>
> *public void *acknowledge() *throws *JMSException {
> *if *(*session *!= *null*) {
> *try *{
> *if *(*session*.isClosed()) {
> *throw *ActiveMQClientMessageBundle.*BUNDLE*.sessionClosed();
> }
> >>> *if *(*individualAck*) {
> *message*.individualAcknowledge();
> }
>
>
>
> Going back to the original question, what is the recommended pattern for
> this?
>
>
>
> Thanks
>
> john
>
> [image: rg] <https://www.redpointglobal.com/>
>
> John Lilley
>
> Chief Architect, Redpoint Global Inc.
>
> 888 Worcester Street, Suite 200 Wellesley, MA 02482
> <https://www.google.com/maps/search/888+Worcester+Street,+Suite+200+Wellesley,+MA+02482?entry=gmail&source=g>
>
> *M: *+1 7209385761 <+1%207209385761> | [email protected]
>
> PLEASE NOTE: This e-mail from Redpoint Global Inc. (“Redpoint”) is
> confidential and is intended solely for the use of the individual(s) to
> whom it is addressed. If you believe you received this e-mail in error,
> please notify the sender immediately, delete the e-mail from your computer
> and do not copy, print or disclose it to anyone else. If you properly
> received this e-mail as a customer, partner or vendor of Redpoint, you
> should maintain its contents in confidence subject to the terms and
> conditions of your agreement(s) with Redpoint.
>
--
Clebert Suconic