Apache Планирование заданий Camel Cron с кварцем2 - PullRequest
0 голосов
/ 29 марта 2020

Моя цель - планировать работу @ 15:00 каждый день с понедельника по пятницу. Ниже приведен мой код:

CamelContext _ctx = new DefaultCamelContext();
_ctx.addRoutes(new RouteBuilder() {

            public void configure() throws Exception {
from("ftp://Sid@localhost:21/equityFeedsProcessing/?password=sid#ftp&stepwise=false&useList=false&ignoreFileNotFoundOrPermissionError=true&fileName=data-sample.csv&"
                        + "scheduler=quartz2&scheduler.cron=00+15+*+*+MON-FRI")
          .to("file:src/main/resources/?fileName=abc.csv");

            }

        });

        _ctx.start();
         Thread.sleep(30000);
        _ctx.stop();

Проблемы: 1) Я получаю очень странное исключение: Вызвано: org. apache .camel.NoSuchBeanException: В реестре не найден компонент for: quartz2 типа: org. apache .camel.spi.ScheduledPollConsumerScheduler 2) Я понимаю, что моя программа должна работать, когда задание запланировано. Как я должен это гарантировать. Я имею в виду, нужно ли мне запускать эту программу в течение установленного времени? и какое значение я должен дать для сна в Thread.sleep () ? 3) Также, как я могу сделать это, чтобы повторить попытку, если он не может извлечь файл?

Пожалуйста, обратите внимание : Исключение составляет планировщик, моя программа работает отлично, то есть она может извлечь файл с FTP-сервера и загрузить в мое местное местоположение.

Пожалуйста, помогите в решении проблемы.

1 Ответ

1 голос
/ 30 марта 2020

Вы можете запустить контекст верблюда каждый день в определенный момент. Но почему бы не запустить его всегда (так нужно для Thread.sleep)

Механизм повтора см. https://camel.apache.org/manual/latest/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.html

Странное исключение, вероятно, связано с отсутствием некоторого пути к классам. вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...