2016-12-08 3 views
0

Возможно ли распространять сообщения через пару очередей? F.E. У меня две базы данных удаленные и локальные, в удаленном я имею одну таблицу aq AQ1, в локальном я имею две таблицы AQ2 и AQ3. Возможно ли планировать распространение от AQ1 до AQ2, а затем от AQ2 до AQ3, поэтому сообщение, которое я получаю от AQ1 в AQ2, будет автоматически распространено на AQ3?Распространение сообщений через несколько очередей

Я прошу об этом. У меня есть эта проблема, когда, когда сообщение передается в AQ2 из AQ1, оно автоматически не распространяется на AQ3. Когда я смотрю на user_queue_schedules, распространение на AQ3 даже не запускалось. Но если я передаю сообщение AQ2, он распространяется на AQ3.

ответ

0

Когда вы думаете о распространении, логично, что при распространении сообщения в другую очередь он помещает его в очередь, и это должно вызвать распространение в третьей очереди. Однако, когда вам лучше думать о том, как работает распространение, логично предположить, что распространение на третью очередь не должно запускаться. Если вы не укажете получателей во время выполнения очереди в очереди, распространение принимает принимающие по умолчанию агенты, которые подписываются на эту таблицу aq и отправляют им сообщения, поэтому он помещает сообщение во вторую очередь с получателем, являющимся этой очередью, и поэтому сообщение не может быть распространено на третьей очереди, потому что эта очередь не является получателем. Обходным путем для этого будет добавление процедуры обратного вызова, когда сообщение помещается в очередь на вторую очередь, чтобы удалить это сообщение и поставить его в очередь на третью очередь. Или просто создайте задание, которое будет выполняться каждые две секунды, деактивируйте новые сообщения и вывешивайте их в третью очередь.

Если я ошибаюсь, пожалуйста, дайте мне знать.

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