Вопрос

Итак, модель, которая мне нужна для моего решения, выглядит следующим образом:

Мне нужно опросить базу данных и по результату создать запрос к базе данных на получение дополнительных данных, получить ответ и передать его группе портов, для которой на основе продвигаемого свойства будет действовать только один из портов.

Это выглядит так:

Однако если вы назначите «Temp Out» группе портов отправки, сообщение будет отправлено на все порты в группе, независимо от фильтров, установленных на каждом порту.Насколько я понимаю, это ожидаемое поведение (читайте здесь).

Поэтому я изучил другие варианты, такие как использование маршрутизации на основе контента (пример CBR), как в SDK.Вы можете просмотреть это здесь.

Я попробовал это и полностью удалил оркестровку (она действительно не нужна).Однако существуют серьезные ошибки маршрутизации/подписки, и при дальнейшем исследовании выяснилось, что вы не можете этого сделать, если у вас есть порты запроса ответа.Несколько статей об этом здесь.У меня примерно такая же проблема этот пользователь делает.

В конце концов, для меня не имеет значения, использую ли я оркестровку или нет.Однако мне нужно решение, в котором я могу передать сообщение на несколько портов отправки, и только один из них может фактически использовать сообщение и отправлять его.Это необходимо для того, чтобы я мог легко редактировать и добавлять порты без необходимости изменять что-либо еще или жесткие кодовые решения в оркестровке.

Это было полезно?

Решение 2

Я обнаружил, что модель ЦБ РФ действительно работает.Проблема с маршрутизацией заключалась в подписках.Если бы мне нужно было подписаться на порт отправки на порт запроса ответа, мне пришлось бы установить фильтр BTS.SPName (имя порта отправки) вместо фильтра BTS.ReceivePort.Благодаря этому сообщение было правильно отфильтровано.Ваш ответ тоже сработал бы, но он требует использования оркестровки, которой я пытался избежать.

Другие советы

Вы можете использовать Прямая привязка на порту отправки оркестрации, чтобы ввести сообщение обратно в базу данных окна сообщений.Используя несколько групп портов, каждая группа портов может напрямую подписаться на нужный тип сообщения и фильтровать продвигаемые свойства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top