Because in that way we can use activeMQ's built in duplicate detection. --Kaustubh
On Fri, Sep 23, 2011 at 7:46 PM, Jason Whaley <jasonwha...@gmail.com> wrote: > 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 > >