286.5.3. バッチメッセージのサポート
Sjms2Producer は、List
をカプセル化する Exchange を作成して、メッセージのコレクションの公開をサポートします。この Sjms2Producer は List の内容を繰り返し処理し、各メッセージを個別に公開します。
メッセージのバッチを生成する場合、各メッセージに固有のヘッダーを設定する必要がある場合は、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); }
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);
template.sendBody("sjms2:queue:batch.queue", messages);