Per my earlier response, this is a broker bug. It is mishandling the presence of the amqp header section to carry the priority or ttl, but having the durable flag being defaulted, which means non durable. I didnt see it in my tests as I inspected the consumed message, which correctly states it is non persistent due to passing the same header detail through.
On Fri, 26 Apr 2019 at 05:29, Hardik Jethava <[email protected]> wrote: > > Thanks Robbie and Jeremy for your quick response. > > I tried with below versions of ActiveMQ Broker: > - 5.14.4 > - 5.15.9 > > I can see this issue with both versions of Broker when I use Qpid JMS client > v0.20.0 onwards. > > Also, I am attaching the sample utility that I have written to simulate the > issue. In this Utility: > - LoadTest.java is main class. > - Messages are getting published to ActiveMQ as part of ProducerThread.java > - I have shown example of all four combination (i.e. Priority and > Non-Priority with and without TTL with Delivery mode to "Non Persistent" for > all 4 cases), In this case I can see "Non Persistent" on ActiveMQ console > only when I set TTL to 0 for Non-Priority(Default priority) messages where as > for other 3 cases it publishes messages as Persistent. > > Let me know if you need more details. > > Regards, > Hardik > > On 4/25/19, 6:57 PM, "Robbie Gemmell" <[email protected]> wrote: > > Sent by an external sender > ------------------------------ > > Responses go to the mailing list, as noted on the discussion page > http://qpid.apache.org/discussion.html if you dont join the list youll > need to use the archive/forum interfaces also detailed there. I > already responded to your post earlier. > > Robbie > > On Thu, 25 Apr 2019 at 13:53, Hardik Jethava <[email protected]> wrote: > > > > Let me know if I should post this question somewhere else(may be some > other email address). Thanks!! > > > > From: Hardik Jethava <[email protected]> > > Date: Thursday, April 25, 2019 at 2:15 PM > > To: "[email protected]" <[email protected]> > > Subject: Message delivery mode automatically changes to "Persistent" > > > > Hi Team, > > > > We are using Qpid JMS 0.37.0 Library(Java) for publishing and consuming > messages to ActiveMQ. With that when we try to publish message to ActiveMQ > using producer.send(…) and set Delivery Mode to Non Persistent, in that case > when messages gets published to ActiveMQ, Persistence is set to “Persistent” > instead of “Non Persistent”. Same thing was working fine with Qpid JMS 0.11.1 > Library. > > > > In our case we are creating Anonymous producers and we use them to > publish message to particular destination with Proper delivery mode, Priority > and TTL using > this<https://docs.oracle.com/javaee/7/api/javax/jms/MessageProducer.html#send-javax.jms.Destination-javax.jms.Message-int-int-long-> > API. > > > > Additional observation: > > > > * If we set Priority(i.e. >=5) on producer in that case even if I > set delivery mode to “Non Persistent”, message is getting published as > “Persistent”. > > * If we keep default priority(i.e. 4) and set TTL on producer in > that case even if I set delivery mode to “Non Persistent”, message is being > sent as “Persistent”. > > > > Note: Both of the above mentioned cases works fine with Qpid JMS 0.11.1 > library((i.e. Messages gets published as “Non Persistent”) but not with Qpid > JMS 0.20.0 onwards. > > > > Can you please let me know why message persistence doesn’t work > properly for Priority messages and any non-priority message having TTL with > Qpid JMS 0.20.0 onwards? > > > > Regards, > > Hardik > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
