我正在使用message-driven-channel-adapter从Weblogic JMS队列中以字符串形式接收xml消息,然后将此消息传递到spring集成通道以存储到数据库中,转换为其他xml,然后将转换后的xml发送到另一个远程Weblogic JMS队列。

我的疑问是,我设置了current-consumers =“ 30”
,max-concurrent-consumers =“ 100”,idle-consumer-limit =“ 50”
它是否正确 ?

为了在生产系统中获得最佳性能,我必须为并发用户,max-concurrent-consumers,idle-consumer-limit设置的正确值是多少,并且我们在生产系统中每分钟将收到超过1万条消息。

<int-jms:message-driven-channel-adapter
id="jmsInputQueueAdaptor_DX" channel="requestChannel" connection-factory="connectionFactory"  destination="cbcmInputQueue_DX"
error-channel="errorChannel"
concurrent-consumers="30"
max-concurrent-consumers="100"
idle-consumer-limit="50"
receive-timeout="500"
send-timeout="500"
acknowledge="auto"
/>

最佳答案

您的价值观似乎是一个好的开始。

实现最佳/最佳性能有很多因素。就像XML转换的速度和硬件(内核数,CPU速度等)一样

您实际上只需要测试并找到瓶颈所在。而且,如果您没有充分利用CPU,请添加更多使用者。

10-04 14:36