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
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
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
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
I am sorry, but I don't know. Could you enquire with support, please?
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
In the Java client JMSDeliveryCount is supported for PubSub. ConnectionFactory.setMaxDeliveryCount however is only support for Queues.