我创建了一个路由器类,并在@Configuration中标记为@Bean。我不太确定的一件事是,有多少人会进行数据库调用来获取选择结果?只要我在数据库中有一个新条目,camel就会检索并处理它。
public class SQLRouteBuilderForNewUserProcessing extends RouteBuilder {
@Override
public void configure() throws Exception {
//files refer camel files endpoint
//noop will not move or delete the files
from("sql:" +
"select id from users where status=" + Status.NEW.ordinal() +
"?" +
"consumer.onConsume=update users set status = " + Status.PROCESSING.ordinal()
" where id = :#id")
.bean(UserDataTranslator.class, "transformToUserData")
.to("log:uk.co.infogen.users?level=INFO");
}
}
答案 0 :(得分:2)
默认情况下,consumer.delay
使用者每500毫秒汇集一次数据库。您可以使用from("sql:select ... &consumer.delay=5000")
.to(...)
src="getImage.php?id=<?php echo $id; ?>"
答案 1 :(得分:1)
consumer.delay 长 500 Camel 2.11:仅限SQL使用者:每次轮询之间的延迟(以毫秒为单位)。