2015-09-03 1 views
2

Есть какой-то способ подписаться на Orion (например, Автомобиль), без получения старых объектов?Подписывать Orion без получения старых объектов

Пример: Орион -> Автомобиль A, B. Автомобиль

я OnChange подписку и Orion посылает меня в то же самое время: Автомобиль уведомление и автомобиль B уведомления.

Нам необходимо следующее:

Орион -> Автомобиль A, B. Автомобиль

я OnChange подписку, но не получим ничего на данный момент. Если в будущем Orion получит автомобиль B или изменит какой-либо атрибут Car A или Car B, отправьте уведомление.

Возможно ли это?

ответ

0

поведение объясняется в the user manual:

Вы можете задаться вопросом, почему accumulator-server.py получает это сообщение, если вы на самом деле не делать какие-либо обновления. Это связано с тем, что Контекстный Брокер Ориона рассматривает переход от «не существующей подписки» к «подписанному» в качестве изменения.

Мы понимаем, что для некоторых случаев использования это не удобно. Тем не менее, поведение в опосетийном руинах приводит к тому, что другие используют случаи, которые должны знать «официальное состояние», прежде чем начинать получать уведомления, соответствующие фактическим изменениям. Лучшее решение, чтобы сделать всех счастливыми, - это сделать это настраиваемым, чтобы каждый клиент мог выбрать то, что он предпочитает. Эта функция в настоящее время находится в нашей дорожной карте (см. this issue in github.com).

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

Смежные вопросы