Message redelivery with Sonic

Posted by mihaimaier on 09-Dec-2010 06:10

Hi all,

I have a scenario where my topic listener needs to be able to put a message back into a topic and have the message redelivered without restarting the session.

What i've found is it works with a transacted listener and rollback the message if you want to put it back into the topic.

Questions:

1. Does anyone know an approach without the need for transacted listeners?

2. How can I control the number of re-delivery of a message? There is an option with the TTL, but I need an aproach based on the number of deliveries.

Any help is very much appreciated.

Many thanks,

Mihai

All Replies

Posted by tsteinbo on 09-Dec-2010 06:26

Which Sonic version are you using? The                                                                                                            JMSXDeliveryCount property is available starting with 7.6?

Check the "Progress SonicMQ V7.6: Application Programming Guide", chapter Messages, section Setting Maximum Delivery Count.

Also, for non-transacted sessions did you try recover()?

Thomas

Posted by mihaimaier on 10-Dec-2010 08:00

Many thanks Thomas for your answer!

Sorry for being late with a reply. I'll try what you've suggested and come back with a reply.

Thanks,

Mihai

Posted by mihaimaier on 13-Dec-2010 07:03

Hi Thomas,

The recover() method works for non-transacted sessions - thanks.

Regarding the delivery count it looks I'm not so lucky because if I'm calling message.getIntProperty("JMSXDeliveryCount") I'm getting "System.FormatException: number format exception".

I'm using the version 8 of Sonic and connecting with .NET client. Do you know if this property is supported in .NET client?

Many thanks,

Mihai

Posted by tsteinbo on 20-Dec-2010 06:18

I am sorry, but I don't know. Could you enquire with support, please?

Posted by mihaimaier on 20-Dec-2010 11:58

Hi Thomas,

One more thing before going to support - do you know if the JMSXDeliveryCount is supported for pub/sub or is a feature availabe only for point-to-point? I was just thinking that in pub/sub scenario it might be more complex to define the delivery count.

Thanks,

Mihai

Posted by rrudis on 20-Dec-2010 13:51

In the Java client JMSDeliveryCount is supported for PubSub.  ConnectionFactory.setMaxDeliveryCount however is only support for Queues.

This thread is closed