Java 使用Spring No Xml配置Camel
我正在尝试使用Spring只使用注释和直接Java来配置Camel。以下是我创建的路线:Java 使用Spring No Xml配置Camel,java,spring,apache-camel,Java,Spring,Apache Camel,我正在尝试使用Spring只使用注释和直接Java来配置Camel。以下是我创建的路线: @Produce(uri = "activemq:my.route") ProducerTemplate producer; @RequestMapping(value = "/test", method = RequestMethod.POST) public void testCamel() { producer.sendBody("TEST"); } 需要一个camel上下文,我正试图在A
@Produce(uri = "activemq:my.route")
ProducerTemplate producer;
@RequestMapping(value = "/test", method = RequestMethod.POST)
public void testCamel()
{
producer.sendBody("TEST");
}
需要一个camel上下文,我正试图在AppConfig类中定义它:
我的当前版本:
@Autowired
private ApplicationContext applicationContext;
@Bean
public CamelContext camelContext() throws Exception {
SpringCamelContext springCamelContext = new SpringCamelContext(applicationContext);
springCamelContext.addRoutes(new com.bigideas.routing.Routes());
return springCamelContext;
}
Routes类只是一个扩展RouteBuilder的空类
问题是,当我实际调用testCamel方法时,我的生产者是空的。我知道我可以在xml配置文件中创建上下文,我只是想知道我在不使用xml时做错了什么。我相信您应该按照这里的说明操作:,所以一个
@configuration
类使用@ComponentScan
扩展CamelConfiguration
此外,您的
com.bigideas.routing.Routes
也应该是w Springbean(@Bean
或@Component
)使用camel 2.18和Spring boot,camel上下文构建和单元测试变得非常简单
看看这个例子
扩展routebuilder的类应该用@Component注释。同样在Spring控制器类中,您需要自动连接Camel上下文,然后使用创建生产者/消费者模板。确保调用模板的启动/停止方法,以便有效地使用其资源