Приложение, над которым я работаю, является промежуточным программным обеспечением Apache Camel, которое обрабатывает взаимодействия между несколькими приложениями. Я постараюсь обобщить проблему, с которой мы сталкиваемся.
Маршрут 1:
Всякий раз, когда происходит изменение в «Приложении 1», наше приложение уведомляется с помощью различных событий SOAP, тогда наше приложение выполнит некоторые действия.
Этот «маршрут 1» начинается с конечной точки SOAP, а НЕ с планировщиком.
Теперь клиент хочет, чтобы мы установили исправление для другого изменения требований бизнеса. Поэтому мы реализуем новый маршрут:
Маршрут 2:
Когда клиент помещает текстовый файл во входную папку, обработка начинается.
Проблема заключается в том, что после завершения этой процедуры в «Приложении 1» произойдут некоторые изменения, и наше приложение рискует получить некоторые нежелательные уведомления через «Маршрут 1». Обратите внимание, что такие виды уведомлений всегда необходимы для бизнес-требований, НО они не только после этого исправления.
Итак, мы думаем о запуске исправления в нерабочее время: клиент сам поместит txt-файл во входную папку с 19:00 до полуночи.
Вопрос: как мы можем автоматически деактивировать « Маршрут 1 » на время исправления (между 7 вечера и полуночи), а затем автоматически возобновить этот « Маршрут 1 » после исправления
Спасибо за вашу помощь.
Приложение 1 уведомляет нас по маршруту 1:
from("soapEndpoint")
.routeId("route1")
.process(treatment 1)
.end();
Исправление, обработка 2 может сопровождаться некоторыми изменениями в Приложении 1, которые генерируют события, которые прослушиваются Маршрутом 1:
from("fileEndpoint")
.routeId("route2")
.process(treatment 2)
.end();