现在的方法是,调用DB获取所有已配置的其余详细信息,并在routerbuilder的confuguire方法中进行迭代并构建路由。
代码示例:
public void configure() {
for(int i=0; i< list.length;i++){
from("quartz://myTimer?trigger.repeatInterval=2000&trigger.repeatCount=-1")
.setBody().simple("Current time is ${header.firedTime}")
.to("stream:out");
}
}
这里我只有一个routebuilder类,configure方法具有用于创建多个路由的for循环。
答案 0 :(得分:3)
这似乎是一种无法很好扩展的方法。如果您有10或100个“列表”项目,那就太好了。
如果您在RouteBuilder中定义了1000或10,000或1,000,000条路由,那行得通吗?我不知道。
骆驼路线是为了对数据流进行建模,而不是代表数据本身。数据应流经路线。
我将对您的解决方案进行建模,并通过seda:
端点在内存中创建一个队列,然后将x项数据(很可能是java.lang.Integer
)放到seda:myqueue
上。 / p>
然后有第二条路由,该路由从seda:myqueue
异步消耗数据,并按照您选择的任何时间处理数据。