diff --git a/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/ConfigurableMongoDbMessageStore.java b/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/ConfigurableMongoDbMessageStore.java index cb6c809f8f..a4ad345b8e 100644 --- a/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/ConfigurableMongoDbMessageStore.java +++ b/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/ConfigurableMongoDbMessageStore.java @@ -239,8 +239,9 @@ public class ConfigurableMongoDbMessageStore extends AbstractConfigurableMongoDb @Override public Iterator iterator() { Query query = Query.query(Criteria.where(MessageDocumentFields.GROUP_ID).exists(true)); - Iterable groupIds = getMongoTemplate().getCollection(collectionName) - .distinct(MessageDocumentFields.GROUP_ID, query.getQueryObject(), String.class); + Iterable groupIds = + getMongoTemplate() + .findDistinct(query, MessageDocumentFields.GROUP_ID, this.collectionName, Object.class); return StreamSupport.stream(groupIds.spliterator(), false) .map(this::getMessageGroup) diff --git a/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/MongoDbMessageStore.java b/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/MongoDbMessageStore.java index 9696ffa387..b00d75a3da 100644 --- a/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/MongoDbMessageStore.java +++ b/spring-integration-mongodb/src/main/java/org/springframework/integration/mongodb/store/MongoDbMessageStore.java @@ -367,8 +367,7 @@ public class MongoDbMessageStore extends AbstractMessageGroupStore Query query = Query.query(Criteria.where(GROUP_ID_KEY).exists(true)); - Iterable groupIds = this.template.getCollection(this.collectionName) - .distinct(GROUP_ID_KEY, query.getQueryObject(), String.class); + Iterable groupIds = this.template.findDistinct(query, GROUP_ID_KEY, this.collectionName, Object.class); for (Object groupId : groupIds) { messageGroups.add(getMessageGroup(groupId)); diff --git a/spring-integration-mongodb/src/test/java/org/springframework/integration/mongodb/store/AbstractMongoDbMessageGroupStoreTests.java b/spring-integration-mongodb/src/test/java/org/springframework/integration/mongodb/store/AbstractMongoDbMessageGroupStoreTests.java index d8385cc178..74698b95df 100644 --- a/spring-integration-mongodb/src/test/java/org/springframework/integration/mongodb/store/AbstractMongoDbMessageGroupStoreTests.java +++ b/spring-integration-mongodb/src/test/java/org/springframework/integration/mongodb/store/AbstractMongoDbMessageGroupStoreTests.java @@ -374,7 +374,7 @@ public abstract class AbstractMongoDbMessageGroupStoreTests implements MongoDbCo Message message = new GenericMessage<>("1"); store2.addMessagesToGroup("1", message); store1.addMessagesToGroup("2", new GenericMessage<>("2")); - store2.addMessagesToGroup("3", new GenericMessage<>("3")); + store2.addMessagesToGroup(UUID.randomUUID(), new GenericMessage<>("3")); MessageGroupStore store3 = this.getMessageGroupStore(); Iterator iterator = store3.iterator();