Look at slow consumers. Set consumer window size to 0 on this consumer. On Thu, Sep 29, 2022 at 6:01 PM John Lilley <john.lil...@redpointglobal.com.invalid> 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> | john.lil...@redpointglobal.com > > 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