我需要将Camel与spring-boot集成,以实现相同的目的,我正在使用下面的代码来构建ProducerTemplate以便进行bean集成,但是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对象。

最佳答案

如果您依赖Spring Boot骆驼中预定义的ProducerTemplate,则@Produce依赖Spring进行Producer模板的依赖注入。这意味着自动连接生产者模板的服务必须将自身注册为Bean。
检查您的服务类是否用@Component注释或它的子类型。
如果您以编程方式创建ProducerTemplate并与上下文关联(假设您已使用@Bean注册为bean),请使用@Produce(context="contextName1")


检查您的组件扫描路径。那主要是你的问题。

07-24 19:51