Apache Camel RouteBuilder не запускает configure () - PullRequest
0 голосов
/ 19 мая 2018

Когда я пытаюсь настроить новую точку прямого доступа в Apache Camel, не запускается метод configure () моего RouteBuilder, и я не могу выяснить причину.

У меня есть метод configureRESTRoute(), который я реализовал следующим образом:

private RouteBuilder configureRESTRoute(DataSource ds) {
    RouteBuilder restRoute = new RESTRoute() {
        @Override
        public void configure() throws Exception {
            from("direct:" + ds.getConfig().get("SOURCENAME"))
                    .log("----Configuring new REST Route----: " + "direct:" + ds.getConfig().get("SOURCENAME"))
                    .setHeader(Exchange.HTTP_PATH, simple((String) ds.getConfig().get("HTTP_PATH")))
                    .setHeader(Exchange.HTTP_METHOD, constant("GET"))
                    .to("http4:" + ds.getConfig().get("HTTP_HOST"))
                    .log("----Successfully configured----");
        }
    };
    return restRoute;
}

Класс DataSource содержит карту деталей конфигурации для конкретного источника данных.В этом методе я пытаюсь построить маршрут, который позже добавляется в CamelContext.В настоящее время он возвращает пустой маршрут, потому что метод configure () пропускается.К сожалению, не выдается исключение или сообщение об ошибке любого другого типа.

1 Ответ

0 голосов
/ 21 мая 2018

Чтобы Верблюд забрал ваш маршрут, возьмите объект CamelContext и вызовите для него метод addRoutes():

Так определите ваши новые маршруты в RouteBuilder:

public class RESTRoute extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("direct:...").to("...");
    }
}

, затем вызовите addRoutes() и передайте свой RouteBuilder:

context.addRoutes(new RESTRoute());

Если вы новичок в Camel, попробуйте начать с архетипа Maven, такого как camel-archetype-java, в качестве этого шаблонаматериал настроен для вас.

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