Возможно ли вставить пакет сообщений в Artemis JMS

#java #jms #activemq-artemis

#java #jms #activemq-artemis

Вопрос:

Я работаю над Java-приложением, которое получает список сообщений, а затем вставляет их в очередь. Возможно ли напрямую вставить список сообщений на мой сервер Artemis JMS (своего рода пакетная вставка)? Или я должен вставлять их по одному?

Ответ №1:

Используя JMS API, вы можете создать «транзакционный» сеанс, отправить пакет сообщений, а затем вызвать commit() сеанс. С точки зрения приложения кажется, что сообщения отправляются одно за другим, поскольку send() вызывается для каждого сообщения. Однако наиболее трудоемкая работа выполняется только при вызове commit() , который выполняется только один раз за пакет. Это часто делается в качестве оптимизации производительности, особенно для постоянных сообщений, чтобы избежать повторной блокировки, которая происходит при отдельных отправлениях без транзакций. Использование транзакций для пакетной обработки обсуждается в разделе «Настройка JMS» документации ActiveMQ Artemis по настройке производительности.