Refactor JdbcMessageStore - Provide separate implementations for MessageStore and MessageGroupStore [INT-2672]
Gunnar Hillert opened INT-2672 and commented
Provide separate implementations for JdbcMessageStore and JdbcMessageGroupStore. Possibly have the JdbcMessageGroupStore extend JdbcMessageStore.
Affects: 2.1.3
Sub-tasks:
-
#6648 Create separate implementations for MessageStore and MessageGroupStore
-
#6649 Add Channel-specific JDBC Message Store
-
#6650 Store the Plain Text Group Id instead or in addition to a UUID
-
#6652 Investigate the possibility of using DB-specific queries
-
#6735 Optimize AbstractCorrelatingMessageHandler Lock Keys
Issue Links:
-
#7069 MongoDb message store deleting messages from wrong group
-
#7200 Deprecate JdbcMessageStore#pollMessageFromGroup in favor of JdbcChannelMessageStore
-
#6587 Doc: Add section that compares the various MessageStore Implementations (pro+cons)
Gary Russell commented
Also see #7069 (group crosstalk when the same message is sent to multiple message-store backed channels).
Artem Bilan commented
group crosstalk when the same message is sent to multiple message-store backed channels
I think for JDBC (this issue) we shouldn't fix it for new JdbcMessageGroupStore, because we already have JdbcChannelMessageStore, who covered group crosstalk in the only one table. The pollMessageFromGroup has to be UnsupportedOperation in the new JdbcMessageGroupStore. There will be still side-effect, when end-users places the same Message to different groups, but it may be possible only via direct MessageStore API.