Интеграция Apache Camel-Quartz


Я пытаюсь использовать компонентcamel-quartz Camel для планирования заданий на нашем сервере приложений (этот выбор технологии является окончательным и выше моего уровня оплаты), и единственная документация, которую предоставляет Apache (здесь ), - это de minimis и ultra compacted без каких-либо реальных полезных примеров для новичков camel/quartz.

Я пытаюсь понять общую картину здесь, прежде чем я смогу углубиться в потребности моей конкретной работы. В документации говорится, что - через Camel-кварцевые таймеры настроены как конечные точки. Поэтому япредполагаю (пожалуйста, поправьте меня, если я ошибаюсь), что это означает, что вы кодируете задания для запуска вместе с их файлами конфигурации / свойств, а затем устанавливаете кварцевый таймер в качестве конечной точки Camel; затем, когда эти задания запускаются, они каким-то образом могут взаимодействовать через Camel с другими конечными точками (?).

так это единственное преимущество использования camel-quartz вместо просто кварца (что он позволяет вашим заданиям взаимодействовать с другими конечными точками)?

Кварц может быть настраивается с помощью файла quartz.properties и требует другой конфигурации, чтобы планировщик можно было инициализировать. заботится ли об этом camel-quartz для вас? я хотел бы просто сосредоточиться на написании задания, но не уверен, какие минимальные конфигурации XML или свойств необходимы.

Заранее спасибо всем, кто может помочь прояснить этот {0]} процесс разработки немного лучше.

2 3

2 ответа:

Вы уже видели документацию camel-quartz на веб-сайте camel? http://camel.apache.org/quartz.html

Это не очень подробно, но должно помочь вам начать. Кварц.свойства ищутся в основании пути к классу. Вы также можете указать другой файл или использовать пользовательские свойства. Смотрите раздел " настройка кварца.раздел "файл свойств".

Верблюжий кварц имеет простую цель вызвать верблюжий маршрут. Таким образом, вы можете использовать все остальные компоненты camel, чтобы реализуйте свои требования. Если ваша работа связана с интеграцией, то camel-quartz-хороший выбор. Если ваша работа в основном вызывает внутренние API вашего приложения, то обычный quartz должен быть достаточно хорош.

Настройка конечной точки quartz проста, ниже задание quartz запускает файловый процессор.process() в 1 час ночи каждый день:

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
    <package>com.test.app</package>
    <template id="camelTemplate"/>
    <route>
        <from uri="quartz://fileProcessorJob?cron=0+0+1+*+*+?"/>
        <to uri="bean:fileProcessor?method=process"/>
    </route>
</camelContext>

По умолчанию Quartz ищет кварц.свойства в пути к классу, вы также можете предоставить сведения о конфигурации в xml, как показано ниже:

<bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
    <property name="propertiesFile" value="com/test/app/myquartz.properties"/>
</bean>