Как запустить адаптер входящего канала по принципу adhoc? - PullRequest
0 голосов
/ 06 июня 2018

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

Единственный способ, о котором я могу думать, - это получить экземпляр SourcePollingChannelAdapter, установить новый триггер (с новым выражением cron) и перезапустить конечную точку.Дайте мне знать, если есть лучший способ сделать это.

<int:inbound-channel-adapter ref="xxxTask" method="executeXXXTask" channel="fileOutChannel">
    <int:poller cron="0 30 4 ? * *"/>
</int:inbound-channel-adapter>

1 Ответ

0 голосов
/ 06 июня 2018

Ваше решение в порядке.

Или вы можете чаще опрашивать и добавлять PollSkipAdvice, чтобы игнорировать опросы.Добавьте пользовательский PollSkipStrategy (или используйте SimplePollSkipStrategy), чтобы включить / отключить опрос.

В пользовательской стратегии можно использовать AtomicBoolean.getAndSet() для одноразового опроса (с установленным триггером).

См. документацию .Также см. Smart Pollers .

...