Проблема в маршруте верблюда с кварцевым триггером политика активации DNS

#apache-camel #dsl

Вопрос:

У меня есть следующий DSL Camel Spring(с использованием Camel-2.24.2 ) —

 <camelContext trace="true" id="StoryRouting" xmlns="http://camel.apache.org/schema/spring">
    <route id="testRoute" autoStartup="false" routePolicyRef="dnsActivationPolicy">
            <from uri="quartz2://testCron?cron=0 32 2 ? * MON-SAT" />

                <!-- Some business logic -->
    </route>
</camelContext>
 

Политика dnsActivationPolicy настроена с теми же параметрами, что и эта — https://camel.apache.org/components/3.7.x/dns-component.html#_dns_activation_policy

Маршрут выполняется точно так, как указано в выражении cron.

Проблема заключается в том, что при обновлении DNS, то есть имени хоста пользователя и разрешения, настроенного в соответствии с политикой dnsactivation(у нас один и тот же пользователь в нескольких регионах), маршрут запускается, и этот пользователь запускает все содержимое маршрута без проверки на дату хронометража quartz. Это вызывает проблемы всякий раз, когда мы выполняем обновление DNS.

С включенными журналами отладки я вижу это в своих журналах пользователей-

 [2021-05-15 21:11:00,166] [DefaultQuartzScheduler-StoryRouting_Worker-1] org.apache.camel.component.quartz2.CamelJob.execute(CamelJob.java:51) DEBUG - Running CamelJob jobExecutionContext=JobExecutionContext: trigger: 'Camel_StoryRouting.Test job: Camel_StoryRouting.Test fireTime: 'Sat May 15 21:11:00 EDT 2021 scheduledFireTime: Sat May 15 21:11:00 EDT 2021 previousFireTime: 'null nextFireTime: Mon May 17 02:32:00 EDT 2021 isRecovering: false refireCount: 0

[2021-05-15 21:11:00,167] [DefaultQuartzScheduler-StoryRouting_Worker-1] org.apache.camel.component.quartz2.CamelJob.lookupQuartzEndpoint(CamelJob.java:101) DEBUG - Looking up existing QuartzEndpoint with triggerKey=Camel_StoryRouting.Test
 

Итак, я вижу, что параметр fireTime установлен на текущее время вместо времени cron.

Я не вижу никакой конфигурации в https://camel.apache.org/components/2.x/quartz2-component.html чтобы предотвратить этот необычный запуск потребителя, когда происходит изменение dns, но не совпадает с временем cron.

Любые указатели будут полезны.