/** Remove a Message from the group with the provided group ID. */ public MessageGroup removeMessageFromGroup(Object groupId, Message<?> messageToRemove) { Assert.notNull(groupId, "'groupId' must not be null"); Assert.notNull(messageToRemove, "'messageToRemove' must not be null"); // build raw MG SimpleMessageGroup rawGroup = this.buildMessageGroup(groupId, true); // create a clean instance of SimpleMessageGroup messageGroup = this.normalizeSimpleMessageGroup(rawGroup); for (Message<?> message : rawGroup.getMessages()) { if (message.getHeaders().getId().equals(messageToRemove.getHeaders().getId())) { rawGroup.remove(message); } } this.removeMessage(messageToRemove.getHeaders().getId()); this.doStore(MESSAGE_GROUP_KEY_PREFIX + groupId, new MessageGroupMetadata(rawGroup)); messageGroup = this.getSimpleMessageGroup(this.getMessageGroup(groupId)); return messageGroup; }
public MessageGroup removeMessageFromGroup(Object key, Message<?> messageToRemove) { SimpleMessageGroup group = getMessageGroupInternal(key); group.remove(messageToRemove); return group; }