如何将自定义bean用作camel中的生产者端点,然后将其连接到处理bean或/和使用者bean。
例如,我想使用其中一个bean方法从数据库中使用数据,然后将结果传递给同一个bean的另一个方法或另一个bean来处理数据,然后传递给jms队列。
我想做类似的事情,但流程永远不会进入patstat服务
public void configure() throws Exception {
from("direct:start").bean("patstatService", "getTestData")
.bean("patstatExtractorAutmn","generatRSSFromData")
.to("activemq:patstat:test");
}
答案 0 :(得分:1)
我找不到直接从bean消费的方法。 对于我的用例,每隔一秒使用bean的调度可能会起作用。所以现在以下工作做了,但我希望有一种方法可以直接从bean中使用,因为这是一个有效的用例,在我看来非常有用。
public void configure() throws Exception {
from("timer:patstat?period=1s").bean("patstatService", "getTestData")
.bean("patstatExtractorAutmn","generatRSSFromData")
.to("activemq:patstat:test");
}
答案 1 :(得分:0)
另一个解决方案是在路由启动时只调用一次bean,并将处理逻辑放在bean中,如下所示:
from("timer:patstat?repeatCount=1").threads().bean("patstatService", "getData").routeId(""+startYear);