2016-05-16 7 views
1

私は、同じJMSトピックをリッスンしている2人のClientサブスクライバを持つバネ統合インプリメンテーションを持っています。私は両方の実装で受信メッセージを保存するためにJDBCメッセージストア(異なる地域)を使用しています。 https://jira.spring.io/browse/INT-2912Spring統合アグリゲーションエラー

のように、今、私は春のバージョンをアップグレードカント:

org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 

私は、これはJIRA課題である知っている:データを処理している間、私は例外を取得します。回避策を理解することができません "回避策は、常に別のgroupKeyを使用するか、メッセージストアごとに別のテーブルを使用することです。また、REGION列をINT_GROUP_TO_MESSAGEに追加する必要があります。

どのようにして別のgroupKeyを作成できますか?

私の実装は以下の通りです:

<bean 
    id="jdbcMessageStore" 
    class="org.springframework.integration.jdbc.JdbcMessageStore" 
    p:dataSource-ref="datasource" 
    p:region="REPORTS"/> 

<si:aggregator 
     send-partial-result-on-expiry="false" 
     message-store="jdbcMessageStore" 
     discard-channel="discardedLogger"/> 

答えて

1

「groupKeyは」相関戦略の結果がある述べました。デフォルトでは、それは単にcorrelationIdヘッダーを使用します。

correlation-strategy-expression="'foo' + headers['correlationId']"correlation-strategy-expression="'bar' + headers['correlationId']"を使用すると、アプリごとに異なるグループキーを使用できます。