ProducerTemplate всегда верблюдирует с верблюдом и весенней загрузкой - PullRequest
0 голосов
/ 07 мая 2018

У меня есть требование интегрировать Camel с spring-boot , чтобы добиться того же, я использую приведенный ниже код для сборки ProducerTemplate для интеграции бинов, но ProducerTemplate всегда будет иметь значение NULL.

Java-код

@RestController
public class TestController implements ProductSummaryApi {

    @EndpointInject(uri = "direct:test")
    ProducerTemplate testRoute;

    @RequestMapping(value = "/v1/test", method = RequestMethod.GET)
    public String test(){
        System.out.println("Route: " + testRoute);
        return "Test";
    }
}

Линия System.out.println("Route: " + testRoute); печатает NULL

pom.xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-boot-starter</artifactId>
    <version>2.21.0</version>
</dependency>

Любая подсказка, почему приложение не может построить ProducerTemplate объект.

1 Ответ

0 голосов
/ 07 мая 2018
  • Если вы полагаетесь на предопределенный ProducerTemplate от верблюда из весенней загрузки, @Produce полагается на Spring для внедрения зависимостей в шаблоне Producer. Это означает, что сервис, который autowires шаблон производителя, должен зарегистрировать себя как компонент.
    Проверьте, помечен ли ваш класс обслуживания @Component или его подтипами.
  • Если вы программно создаете ProducerTemplate и связываетесь с контекстом (при условии, что вы зарегистрировались как компонент с использованием @Bean), используйте @Produce(context="contextName1").

Проверьте ваш путь сканирования компонента. Это в основном ваша проблема.

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