305.5.3. 批处理消息支持

Sjms2Producer 支持通过创建封装列表 的 Exchange 发布一系列消息。此 Sjms2Producer 将迭代列表的内容并单独发布每条消息。

如果出现批处理消息,则需要设置每个消息唯一的标头,您可以使用 SJMS2 BatchMessage 类。当 Sjms2Producer 遇到 BatchMessage 列表时,它将迭代每个 BatchMessage 并发布包括的有效负载和标头。

以下是使用 BatchMessage 类的示例。首先,我们创建一个 BatchMessage 列表:

List<BatchMessage<String>> messages = new ArrayList<BatchMessage<String>>();
for (int i = 1; i <= messageCount; i++) {
    String body = "Hello World " + i;
    BatchMessage<String> message = new BatchMessage<String>(body, null);
    messages.add(message);
}

然后发布列表:

template.sendBody("sjms2:queue:batch.queue", messages);