On 05/17/2016 09:18 AM, ActiveMQ Investigation wrote:
Hello,

I am testing ActiveMQ as alternative of SonicMQ for our systems (OpenEdge).
I have done a Stomp Layer on OpenEdge Application to communicate with
ActiveMQ.

When I send 25000 messages on a queue via Stomp to ActiveMQ consumer then it
takes around 4 seconds. When I do it via ActiveMQ CMS c++ client using open
wire, it takes approx 4 seconds if setDeliveryMode is
DeliveryMode::NON_PERSISTENT. If I comment this code (which means Persistent
Mode by default) or use DeliveryMode::PERSISTENT then it takes 32 seconds to
delivery all these messages.

If I do it on Topic on C++ client, irrespective of Delivery Mode setup, it
takes approx 4 seconds to delivery all messages to a non durable subscriber.
If you are using ActiveMQ-CPP to talk to ActiveMQ then the best solution is to use the OpenWire protocol as the STOMP support in that library is mainly a legacy feature and not actively maintained, it works but it has many limitations and probably more than a few bugs.

The difference in times for sending to Topic vs Queue and PERSISTENT vs NON-PERSISTENT comes down to the underlying guarantee if QoS that the sender expects. For reliable messaging the client will request a response from the broker that indicates that the message has been received and stored before the send call returns so it can throw an exception if that fails to happen or the broker tells it about some error. When you are dealing with non-persistent messages you are essentially saying that you don't care if the message is lost so the client doesn't request a response and sends are basically async (fire and forget).

My Query due to difference in time metrics is:

Do I need to explicitly send delivery mode via Stomp as Persistent/Non
Persistent i.e doesn't it reciprocate Default Persistence of ActiveMQ
(based on time taken of 4 seconds agains C++ open wire of 32 seconds).
if yes, then what header do I use and should it be in every message I send
or just in connect?
How come topic takes same approx 4 seconds irrespective of Delivery Mode.
Please note that I am not using Async etc to affect this performance. It's a
default configuration of ActiveMQ install I have.

Any help will be appreciated.

Thanks
AJ



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Stomp-ActiveMQ-CMS-Delivery-Mode-tp4712048.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.



--
Tim Bish
twitter: @tabish121
blog: http://timbish.blogspot.com/

Reply via email to