13.7.3. ストリーミングアグリゲーター
| Class | org.jboss.soa.esb.actions.StreamingAggregator |
このアクションにより、ルーティングアクションパイプラインから外部(ESB-unaware) HTTP エンドポイントを呼び出すことができます。このアクションは Apache Commons HttpClient を使用します。Aggregator エンタープライズ統合パターンの実装は、以下を参照してください。 http://www.enterpriseintegrationpatterns.com/Aggregator.html
Streaming Aggregator は、メッセージ集約アクションの改善バージョンです。以前のアグリゲーターとは異なり、ストリーミングアグリゲーターはすべてのメッセージの完全な集約詳細を必要としません。メッセージにはメッセージの順序番号と一意の集約 ID が必要ですが、すべてのメッセージは各メッセージで集約されるメッセージ数を指定する必要はありません。集約されたメッセージの数は後続のメッセージで送信できます。これは、行のカウントまたは解析が必要な非常に大きなファイルを処理する場合のパフォーマンスが向上することです。または、分割する必要がある Smooks フラグメントです。
データは、
org.jboss.soa.esb.actions.aggregator.AggregateDetails オブジェクトを含める必要がある "Aggregate.AggregateDetails" と呼ばれるプロパティーとしてメッセージに設定されます。
データの形式は以下のとおりです。
[SeriesUUID] ":" [message-sequence] ":" [sequence-count]
[SeriesUUID] ":" [message-sequence] ":" [sequence-count]
Streaming Aggregator によってすべてのメッセージが受信した場合は、Message.Attachment リストの一部としてすべてのメッセージを含む新しいメッセージを返します(名前なし)。それ以外の場合は、アクションは null を返します。
| プロパティー | Description | 必須 |
|---|---|---|
| timeoutInMillis |
集約プロセスがタイムアウトするまでのタイムアウト時間(ミリ秒単位)。
| いいえ |
<action class="org.jboss.soa.esb.actions.StreamingAggregator" name="Aggregator">
<property name="timeoutInMillies" value="60000"/>
</action>
<action class="org.jboss.soa.esb.actions.StreamingAggregator" name="Aggregator">
<property name="timeoutInMillies" value="60000"/>
</action>