Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Critical
-
Resolution: Complete
-
Affects Version/s: 2.2.1
-
Fix Version/s: 3.0 M1
-
Component/s: JDBC Support
-
Labels:
Description
Sample config:
<jdbc:message-store id="messageStore1" data-source="dataSource" region="1"/> <jdbc:message-store id="messageStore2" data-source="dataSource" region="2"/> <aggregator id="aggregator1" correlation-strategy-expression="payload['id']" expire-groups-upon-completion="true" message-store="messageStore1"/> <aggregator id="aggregator2" correlation-strategy-expression="payload['id']" expire-groups-upon-completion="true" message-store="messageStore2"/>
I've caught an issue on JdbcMessageStore#addMessageToGroup, when groupNotExist == false, but query for createdDate ends up with:
.Caused by: org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0
Because the group exists in the another region.
So, I see several queries don't have a parameter placeholder REGION=?.
It causes many issues, if want to use the same groupKey in the separate regions
By the way MongoDbMessageSource looks correct.
Workaround to use different groupKeys always, independently of region.