Hello,
i'm having two esb servers here one for production and for testing. Unfortunately all the messages on the one machine have a jmsdeliverymode of 1 (i heard it's non persistent) and on the other machine they have a jmsdeliverymode of 105(what is that?) buti want them all persistent
On both machine all the data is imported with javax.jms.DeliveryMode.PERSISTENT (should be 2) so i wonder is there something like a global switch inside the ESB where i can modify this jmsdeliverymode in order to make them all persistent? Or can i modify the jmsdeliverymode on runtime?
Regards
Markus
I'll do my best to answer your quesiton. I had the same issue with my system. I want my messages to survive a reboot of the system, so the JMSDeliveryMode must be set to PERSISTENT by the client that is publishing messages.
I do not know of any global setting in Sonic that will do what you are asking, however I did the following to ensure that all messages were PERSISTENT.
//Stand alone C#/Java Client Puyblishing to a Queue
messageProducer.send(textMessage, DeliveryMode.PERSISTENT, Message.DEFAULT_PRIORITY, MESSAGE_LIFESPAN);
//HTTP Acceptor to Queue on One Way Send URL Properties
Set Delivery Mode to Persistent. See Attached Screen Shot
I also set the Time to Live on all my messages to 0, because I don't want them ever to time out.
hi actually i just found my problem. My problem was that the persistence depends also on the endpoint. So i send persistent messages and they arrived persistent, but once a transformation procesed it became inpersistent. I solved the problem, with some help of progress. I had to change all the endpoint configuration. I had to switch quality of service from "Best effort" to "exactly once" and then all my messages kept the jmsdelivery flag =2 and stayed persistent.
Question author said they found the issue