Agreed with Gary's question here... why not use your database to generate a unique ID for each record and then shove that ID in to a property with an application specific name on the JMS message?
On Sep 23, 2011, at 8:08 AM, Gary Tully wrote: > be careful, you need to retain the uniqueness constraints of the > component attributes of a message id. have a peek at how the message > id is generated so that you can understand the intent of each > component. > > Why do you want to override the messageId? > > On 23 September 2011 14:19, kaustubh khasnis <kaustubh.khas...@gmail.com> > wrote: >> Please correct me if I am wrong, but in same onSend method one could >> override the messageId as well right? >> >> We also planning to use same, are there any ill-effects of that? >> >> Thanks and regards >> Kaustubh >> >> On Thu, Sep 22, 2011 at 11:49 PM, Martin C. <mart...@gmx.at> wrote: >> >>> Hi, >>> >>> ok I see, but this is only possible if sending is done directly before >>> committing the database transaction. It wouldn't work so well if >>> sending was done "somewhere" during the process. I had hoped that I >>> could feed something along a UUID as the message ID and it would be >>> used then, but I can see how this would make certain things (like >>> duplicate detection, ...) a lot harder. >>> >>> Thanks for your answer, anyways! >>> >>> Best regards, >>> Martin >>> >>> On Thu, Sep 22, 2011 at 7:36 PM, Gary Tully <gary.tu...@gmail.com> wrote: >>>> you would need to pass use your own message impl that extends >>>> ActiveMQMessage and override >>>> org.apache.activemq.command.ActiveMQMessage#onSend >>>> >>>> on that callback, you will have the messageId and be able to commit >>>> the db transaction. On return from that method the message will be >>>> sent. >>>> be sure and call super.onSend() though. >>>> >>>> On 22 September 2011 18:09, Martin C. <mart...@gmx.at> wrote: >>>>> Hi, >>>>> >>>>> I'd like to know the message ID of a message I am going to send before >>>>> actually sending it. Is this possible? >>>>> >>>>> Reason is that I want to delay sending the JMS messages until my >>>>> database transaction has been comitted, but I already want to record >>>>> the message IDs as correlation IDs in exactly this database >>>>> transaction. >>>>> >>>>> Best regards, >>>>> Martin >>>>> >>>> >>>> >>>> >>>> -- >>>> http://fusesource.com >>>> http://blog.garytully.com >>>> >>> >> > > > > -- > http://fusesource.com > http://blog.garytully.com