Flexberry / NewPlatform.Flexberry.ServiceBus

Flexberry Service Bus - Runtime service
MIT License
3 stars 4 forks source link

Дублирование сообщений #57

Open BatNiy opened 5 years ago

BatNiy commented 5 years ago

Описание ошибки

Есть клиент. Есть тип сообщения. Для клиента было заведено две подписки с указанным типом сообщения. В результате каждое сообщение уходит клиенту в двух экземплярах

Ожидаемое поведение

Шина не должна позволять заводить дубли подписок (клиентов, типов сообщений). Желательно на уровне БД с обработкой в адм. приложении.

Конфигурация

ReceivingManager: NewPlatform.Flexberry.ServiceBus.Components.DefaultReceivingManager OptimizedSendingManager: NewPlatform.Flexberry.ServiceBus.Components.OptimizedSendingManager

Ошибка воспроизводится на следующей конфигурации: ОС: win

Пути решения

Добавить ограничения на БД. Или внедрить проверки в код и отбрасывать дубли.

Исходный код

Проект на GitHub: https://github.com/Flexberry/NewPlatform.Flexberry.ServiceBus Ветка: develop

Тесты

Тест на невозможность создания дублей при приёме сообщений.

Примерная оценка трудоёмкости

2 часа.