jms producer performance with spring

后端 未结 4 1789
执念已碎
执念已碎 2021-01-31 18:47

i created a simple producer consumer simulation based on spring, jms and activemq, i\'m trying to reach high performance from both sides, producers and consumers,

Connec

4条回答
  •  轮回少年
    2021-01-31 19:13

    What is the default delivery mode for ActiveMQ? is it a persistent queue? if so, how is it configured? how remote is the broker? These answers will determine the basic cost of sending to queue by answering how long it takes the server to ack the send (i.e. network RTT + potential cost of persisting the message to disk synchronously).

    The other possibility is that you're actually creating a new connection, session and messageproducer on every send. This is pretty costly to say the least. It will be worth confirming whether this is happening (e.g. add debug logging to spring, check amq admin console for connection churn) or not as a basic sanity check. By the looks of it CachingConnectionFactory should cache a single session and messageproducer by default and convertAndSend should close the session it obtains after sending which results in a returning that cached session to the pool. This should mean it is relatively quick (spring jms goes through an awful lot of code just to send a message) to get the cached session on the next send.

提交回复
热议问题