Общепринятая мудрость, используемая для предположения, что если вам нужна максимальная пропускная способность при массовой рассылке, вам следует использовать режим подтверждения SESSION_TRANSACTED и пакетировать все отправляемые сообщения вместе с .commit ().
К сожалению, вот эталонный тест, показывающий, что это не так http://www.jakubkorab.net/2011/09/batching-jms-messages-for-performance-not-so-fast.html и вам лучше отправлять их как обычно без транзакций. Если вы уже используете транзакции, возможно, имеет смысл попробовать их пакетировать.
Мой совет здесь также заключается в том, что, если вы не имеете дело с сообщениями, которые являются чрезвычайно чувствительными ко времени, скорость, с которой вы производите, не будет такой большой проблемой - вы должны больше заботиться о пропускной способности, а не о скорости. сообщения отправляет. Если вы не возражаете против того, что ваши сообщения вышли из строя, вы можете попросить нескольких производителей отправлять эти сообщения в заданный пункт назначения ... или, если они вам нужны, использовать нескольких производителей, а затем resequencer после того, как они в брокере.