#activemq #ibm-mq
Вопрос:
IBM предоставляет метод управления производительностью при использовании асинхронной доставки:
setMsgBatchSize
общедоступный пустой setMsgBatchSize(размер int) вызывает исключение javax.jms.JMSException
Задает размер пакета сообщений.
Параметры: размер — максимальное количество сообщений, которые должны приниматься одновременно при использовании асинхронной доставки. Бросает: исключение javax.jms.JMSException
Как мы можем достичь этого на ActiveMQ? Из официальной документации ActiveMQ они предоставили свойство, названное:
cf.setUseAsyncSend(true);
Я не уверен, что ActiveMQ был установлен msg batch size
по умолчанию, и когда мы установили useAsyncSend
true
его, мы можем достичь результатов, как это сделала IBM.
Заранее благодарю вас и готов выслушать любую дискуссию.
Ответ №1:
ActiveMQ не имеет эквивалентной опции. Когда сообщение отправляется, оно немедленно отправляется на провод, и если включена опция асинхронной отправки (по умолчанию верно), то для сообщений, которые не являются постоянными или находятся в транзакции, нет необходимости ждать удаленного подтверждения отправки, ваш код может немедленно отправить следующее сообщение.