Проблема в использовании Apache Camel с кварцевым SCheduler - PullRequest
0 голосов
/ 21 июня 2011

Я новичок в Apache Camel и кварцевый планировщик. Я пытаюсь использовать их обоих в интеграции, но не могу этого сделать. Я нашел небольшую статью в книге «Верблюд в действии», но мне не удалось запустить программу - вот мой код

пакет com.cockpitconfig.schedulars;

import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

public class TestScheduler {

    public static void main(String args[]) throws Exception {
        CamelContext context = new DefaultCamelContext();
        context.disableJMX();
        context.addRoutes(new RouteBuilder() {
            @Override
            public void configure() {
                from(
                        "quartz://myTimer?trigger.repeatInterval=2000&trigger.repeatCount=-1")
                        .setBody().simple("Current time is ").to("stream:out");
            }
        });

        context.start();
        Thread.sleep(10000);

        context.stop();
    }
}

Но это дает ошибку

Exception in thread "main" java.lang.InstantiationError: org.quartz.SimpleTrigger
    at org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:119)
    at org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:54)
    at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
    at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:419)
    at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
    at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:189)
    at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
    at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
    at org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:73)
    at org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
    at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:751)
    at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:174)
    at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:610)
    at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1514)
    at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1306)
    at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1213)
    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
    at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1191)
    at com.cockpitconfig.schedulars.TestScheduler.main(TestScheduler.java:24)

У кого-нибудь есть решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 10 июля 2013

Это не очевидно из текущей документации по верблюжьим кварцам, но по состоянию на Camel 2.11.0 он совместим только с Quartz 1.x и НЕ совместим с Quartz 2.x (который выпускался в течение нескольких летсейчас), потому что Quartz 2.x не совместим с Spring 3.0 (и Camel сказал, что пока он будет поддерживать совместимость с Spring 3.0.

Это описано в этой проблеме Camel JIRA .

0 голосов
/ 21 июня 2011

какую версию Camel вы используете?он работал нормально для меня, используя 2.8-SNAPSHOT.просто убедитесь, что на вашем пути есть зависимости верблюжий ядро, верблюжий кварц и верблюжий поток.

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