Ну, мне интересно, почему ваш код хотел бы отправлять любое сообщение с одним и тем же идентификатором два раза для начала? Идентификаторы очереди / темы должны быть уникальными, так же как идентификатор в строке таблицы базы данных всегда должен иметь уникальные идентификаторы.
Я не думаю, что служебная шина должна выполнять какую-либо проверку полезных данных сообщения, это не их работа. Убедиться в том, что вы не отправляете два сообщения с одним и тем же идентификатором, - лучший способ избежать ОЧЕНЬ дальнейших осложнений. Лучше убедиться, что вы не отправляете два сообщения с одним и тем же идентификатором, чем управлять конфликтами позже ... например, если одно из сообщений вставляет данные в базу данных, а две записи имеют одинаковый идентификатор, это вызовет исключение.
Кроме того, удаление «других сообщений» с тем же идентификатором вызовет необъяснимое поведение / проблемы / ошибки намного больше, чем предотвращение конфликтов идентификаторов. Что если ваш пользователь сделал что-то, что отправило сообщение с идентификатором 123, ожидая увидеть результат, но его сообщение будет удалено вашей системой, потому что кто-то еще отправил сообщение с тем же идентификатором? Вы просто сломали систему для этого пользователя, нет?