我需要将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);
行显示NULLpom.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")
。
检查您的组件扫描路径。那主要是你的问题。