Apache Camel-Кварцевая интеграция - PullRequest
3 голосов
/ 11 октября 2011

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

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

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

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

Заранее спасибо всем, кто может помочь прояснить этот процесс разработки camel-quartz немного лучше.

Ответы [ 2 ]

6 голосов
/ 26 марта 2012

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

<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 ищет quartz.properties в пути к классам, вы также можете предоставить подробную информацию о конфигурации в xml, как показано ниже:

<bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
    <property name="propertiesFile" value="com/test/app/myquartz.properties"/>
</bean>
2 голосов
/ 11 октября 2011

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

Это не очень подробно, но вы должны начать.Поиск в quartz.properties осуществляется на основе пути к классам.Вы также можете указать другой файл или использовать пользовательские свойства.См. Раздел «Настройка файла quartz.properties».

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

...