When you say 'you miss an ack somewhere'...does this mean onMessage() throws an 
exception?

I've had this problem before, I added a try/catch (Exception e) to make sure no 
exception gets out of onMessage(), should I use catch(Throwable) instead?

I'm not calling message.acknowledge(), the container should do - I assume.

Anyways, supposing there was a throwable that made it out of onMessage() it 
basically means no other message will be dispatched and I have to redeploy the 
JMS queue in the app server?

Thank you

________________________________________
From: Gary Tully [gary.tu...@gmail.com]
Sent: 26 March 2010 18:26
To: users@activemq.apache.org
Subject: Re: Messages stuck in the queue

you are using a prefetch of 1 (this sum of maxSessions,
 maxMessagesPerSessions ) and possibly u miss an ack somewhere and no
dispatch happens. Possibly using maxSessions=1
and maxMessagesPerSessions =100 may help. so that you get a prefetch of 100.


On 26 March 2010 15:18, Cristian Botiza <cristian.bot...@endava.com> wrote:

> Hi all,
>
> I'm using an activation spec where maxSessions=maxMessagesPerSessions=1.
> Using a client application I'm sending a TextMessage to the queue
>
> The MDB consumes some messages and then the messages start piling up in the
> queue and never get dispatched.
> I restarted the server, redeployed the application but no message is
> dispatched anymore.
>
> I'm using ActiveMQ 4.1.2 as embeded in Apache Geronimo 2.1.1.2 (and can't
> change it).
> I'm using maxSessions=1 as the message is really a notification and wanted
> to avoid processing the same notification concurrently.
>
> Do you have any suggestions? This is really a blocker now.
>
> Thank you
> Cristian
>
> The information in this email is confidential and may be legally
> privileged. It is intended solely for the addressee. Any opinions expressed
> are mine and do not necessarily represent the opinions of the Company.
> Emails are susceptible to interference. If you are not the intended
> recipient, any disclosure, copying, distribution or any action taken or
> omitted to be taken in reliance on it, is strictly prohibited and may be
> unlawful. If you have received this message in error, do not open any
> attachments but please notify the EndavaIT Service Desk on (+44 (0)870 423
> 0187), and delete this message from your system. The sender accepts no
> responsibility for information, errors or omissions in this email, or for
> its use or misuse, or for any act committed or omitted in connection with
> this communication. If in doubt, please verify the authenticity of the
> contents with the sender. Please rely on your own virus checkers as no
> responsibility is taken by the sender for any damage rising out of any bug
> or virus infection.
>
> Endava Limited is a company registered in England under company number
> 5722669 whose registered office is at 125 Old Broad Street, London, EC2N
> 1AR, United Kingdom. Endava Limited is the Endava group holding company and
> does not provide any services to clients. Each of Endava Limited and its
> subsidiaries is a separate legal entity and has no liability for another
> such entity's acts or omissions. Please refer to the “Legal” section on our
> website for a list of legal entities.
>



--
http://blog.garytully.com

Open Source Integration
http://fusesource.com

The information in this email is confidential and may be legally privileged. It 
is intended solely for the addressee. Any opinions expressed are mine and do 
not necessarily represent the opinions of the Company. Emails are susceptible 
to interference. If you are not the intended recipient, any disclosure, 
copying, distribution or any action taken or omitted to be taken in reliance on 
it, is strictly prohibited and may be unlawful. If you have received this 
message in error, do not open any attachments but please notify the EndavaIT 
Service Desk on (+44 (0)870 423 0187), and delete this message from your 
system. The sender accepts no responsibility for information, errors or 
omissions in this email, or for its use or misuse, or for any act committed or 
omitted in connection with this communication. If in doubt, please verify the 
authenticity of the contents with the sender. Please rely on your own virus 
checkers as no responsibility is taken by the sender for any damage rising out 
of any bug or virus infection.

Endava Limited is a company registered in England under company number 5722669 
whose registered office is at 125 Old Broad Street, London, EC2N 1AR, United 
Kingdom. Endava Limited is the Endava group holding company and does not 
provide any services to clients. Each of Endava Limited and its subsidiaries is 
a separate legal entity and has no liability for another such entity's acts or 
omissions. Please refer to the “Legal” section on our website for a list of 
legal entities.

Reply via email to