Okay - thanks all for the guidance. It seems a shame this behaviour is fixed. I have 2 routes sending to the same direct: endpoint. Messages from one route have the messageId I want in the actual messageId field, messages from the other have the messageId I want in the breadcrumbId. I'd hoped I didn't need to check for the existence of a breadcrumbid but will have to.. cheers
On Sun, 1 Mar 2020 at 11:21, Jan Bednář <m...@janbednar.eu> wrote: > Hi, > No you can't do this with any broker. It is against JMS specification. > > https://javaee.github.io/javaee-spec/javadocs/javax/jms/Message.html#setJMSMessageID-java.lang.String- > > Dne 1.3.2020 v 11:29 nomit babraa napsal(a): > > Hi > > Thanks for that. > > Can I get the Broker (AMQ) to not assign a new MessageId? > > Cheers > > N > > > > On Sun, 1 Mar 2020 at 10:09, Claus Ibsen <claus.ib...@gmail.com> wrote: > > > >> Hi > >> > >> You cannot keep JMSMessageID as its an ID that is 100% assigned by the > >> message broker. Clients cannot control it. > >> > >> On Sat, Feb 29, 2020 at 4:50 PM nomit babraa <h.bab...@sheffield.ac.uk> > >> wrote: > >>> Hi > >>> > >>> When I consume a message from Queue1 and simply send it to Queue2, the > >>> message that has landed on Queue 2 has: > >>> > >>> 1) the messageId on the original message now populated in the > >> breadcrumbId > >>> header. > >>> 2) a new messageId. > >>> > >>> Can I just transfer the message unchanged keeping the messageId the > same? > >>> > >>> I've tried forceSendOriginalMessage=true (and also mapJmsMessage=false) > >> as > >>> below but this made no difference. > >>> > >>> from( > >>> "cMQConnectionFactory1:queue:queue1?forceSendOriginalMessage=true") > >>> .routeId("testMove_cJMS_1") > >>> .to("cMQConnectionFactory1:queue:queue2") > >>> .id("testMove_cJMS_2"); > >>> > >>> thanks for any advice > >>> > >>> n > >> > >> > >> -- > >> Claus Ibsen > >> ----------------- > >> http://davsclaus.com @davsclaus > >> Camel in Action 2: https://www.manning.com/ibsen2 > >> > >