---
schema_version: "1"
id: 598d245707d4abf5920c291397566f3ae01060bcd253692bf5b0cee20409fa2b
title: Round Robin ルーター
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.4/round-robin.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.4/round-robin
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 3d2b2762e996c7681e9afd9b3ef52dc04fed9d90adec3031dd49a7019e0334b9
description: MuleSoft Documentation Site
release: "4.4"
latest: false
---
# Round Robin ルーター

Round Robin は、2 つ以上の処理ルートが含まれる Mule コンポーネントであり、フローでコンポーネントが実行されるたびに ​_1 つ_​のルートのみを実行します。Round Robin 内の各ルートは、1 つ以上のプロセッサーを含むことができるスコープです。Round Robin は最初のルートから Mule イベントへのルート内でプロセッサーの実行を開始し、結果をフローの次のプロセッサーに送信します。Round Robin は前回選択したルートを記録し、同じルートを連続して使用することはありません。たとえば、Round Robin が最初に実行されると、コンポーネントによって最初のルートが選択されます。次回の実行時には 2 番目のルートが選択されます。前回選択されたルートが最後のルートだった場合、最初のルートが実行されます。

Round Robin に達した Mule イベントのペイロード、変数、属性はルート内で処理を行うためにアクセスできます。ルート内の Mule イベントを変更すると、Round Robin 後のプロセッサーに伝播されます。

次の例は、Round Robin の機能を示しています。

```xml
<flow name="round-robin-ex" >
  <scheduler doc:name="Scheduler" > <!-- 1 -->
    <scheduling-strategy >
      <fixed-frequency frequency="10" timeUnit="SECONDS"/>
    </scheduling-strategy>
  </scheduler>
  <set-payload value="#[[1,2,3,4]]" doc:name="Set Payload" /> <!-- 2 -->
  <logger level="INFO" doc:name="Logger"
          category="PAYLOAD BEFORE ROUND ROBIN"
  	message="#[payload]"/>
  <round-robin doc:name="Round Robin" >
    <route > <!-- 3 -->
      <set-payload value="#[payload - 4]" doc:name="Set Payload" />
      <logger level="INFO" doc:name="Logger"
              message="#[%dw 2.0&#10;output application/json&#10;---&#10;{ 'r1' : payload}]"
	      category="ROUTE 1 PAYLOAD"/>
    </route>
    <route > <!-- 4 -->
      <set-payload value="#[payload + 5]" doc:name="Set Payload" />
        <logger level="INFO" doc:name="Logger"
                message="#[%dw 2.0&#10;output application/json&#10;---&#10;{'r2' : payload}]"
                category="ROUTE 2 PAYLOAD"/>
    </route>
  </round-robin>
  <logger level="INFO" doc:name="Logger"
           message="#[payload]"
	   category="PAYLOAD OUTSIDE ROUND ROBIN"/> <!-- 5 -->
</flow>
```

1. Scheduler (​`<scheduler/>`​) が 10 秒ごとにフローを実行します。
2. Set Payload (​`<set-payload/>`​) によって配列 ​`[1,2,3,4]`​ が提供されます。
3. Round Robin の​_前_​の Logger コンポーネントによって最初のペイロード ​`[1,2,3,4]`​ が出力されます。
4. Round Robin の​_最初_​のルート (​`<route/>`​) である Set Payload コンポーネントによって、DataWeave 式 ​`payload - 4`​ を使用して最初のペイロードの最後の要素が削除され、そのルートの Logger によって生成されたペイロードがキー ​`"r1"`​ の値 ​`{ "r1": [1,2,3] }`​ として出力されます。
5. Round Robin の ​_2 つ目_​のルート (​`<route/>`​) である Set Payload コンポーネントによって、DataWeave 式 ​`payload + 5`​ を使用して新しい要素が最初のペイロードに追加され、そのルートの Logger によって生成されたペイロードがキー ​`"r2"`​ の値 ​`{ "r2": [1,2,3,4,5] }`​ として出力されます。
6. Round Robin の​_後_​の Logger コンポーネントによって、Round Robin の実行によって処理されたルートのペイロードが出力されます。最初の実行では ​`[1, 2, 3]`​ が出力されます。次の実行では ​`[1, 2, 3, 4, 5]`​ が出力されます。その次には ​`[1, 2, 3]`​ が出力される、といった具合になります。

次の抜粋では、ログに Round Robin ルーターの 3 つの実行が表示されています。この例では、フローによって ID が ​`4df56260`​、​`53eb1c50`​、​`59e12460`​ で始まる Mule イベントが処理されます。(この例は読みやすくするために編集されています)。

...

INFO  2022-12-19 10:02:30,233 ...event: 4df56260-7fc7-11ed-957f-147ddaaf4f97\]
      PAYLOAD BEFORE ROUND ROBIN: \[1, 2, 3, 4\]
INFO  2022-12-19 10:02:30,290 ...event: 4df56260-7fc7-11ed-957f-147ddaaf4f97\]
      ROUTE 1 PAYLOAD: { "r1": \[1,2,3\] }
INFO  2022-12-19 10:02:30,291 ...event: 4df56260-7fc7-11ed-957f-147ddaaf4f97\]
      PAYLOAD OUTSIDE ROUND ROBIN: \[1, 2, 3\]

INFO  2022-12-19 10:02:40,154 ...event: 53eb1c50-7fc7-11ed-957f-147ddaaf4f97\]
      PAYLOAD BEFORE ROUND ROBIN: \[1, 2, 3, 4\]
INFO  2022-12-19 10:02:40,167 ...event: 53eb1c50-7fc7-11ed-957f-147ddaaf4f97\]
      ROUTE 2 PAYLOAD: { "r2": \[1, 2, 3, 4, 5\] }
INFO  2022-12-19 10:02:40,168 ...event: 53eb1c50-7fc7-11ed-957f-147ddaaf4f97\]
      PAYLOAD OUTSIDE ROUND ROBIN: \[1, 2, 3, 4, 5\]

INFO  2022-12-19 10:02:50,151 ...event: 59e12460-7fc7-11ed-957f-147ddaaf4f97\]
      PAYLOAD BEFORE ROUND ROBIN: \[1, 2, 3, 4\]
INFO  2022-12-19 10:02:50,154 ...event: 59e12460-7fc7-11ed-957f-147ddaaf4f97\]
      ROUTE 1 PAYLOAD: { "r1": \[1, 2, 3\] }
INFO  2022-12-19 10:02:50,154 ...event: 59e12460-7fc7-11ed-957f-147ddaaf4f97\]
      PAYLOAD OUTSIDE ROUND ROBIN: \[1, 2, 3\]

...

## [](#参照)参照

Round Robin によって、​`<round-robin />`​ 要素に対して設定可能な属性が提供されます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">名前</th>
<th class="tableblock halign-left valign-top">XML</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ビジネスイベント</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>tracking:enable-default-events="true"</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>デフォルトは ​<code>false</code>​ です。ビジネスイベントを追跡できるようにします。<a href="https://docs.mulesoft.com/jp/mule-runtime/4.4/business-events" class="xref page">ビジネスイベント</a>を参照してください。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#スロー)スロー

- `MULE:ROUTING`