Apache Camel监听器

时间:2016-02-06 20:48:25

标签: java apache-camel

我创建了一个路由器类,并在@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");
    }
}

2 个答案:

答案 0 :(得分:2)

默认情况下,consumer.delay使用者每500毫秒汇集一次数据库。您可以使用from("sql:select ... &consumer.delay=5000") .to(...)

进行配置
src="getImage.php?id=<?php echo $id; ?>"

请参阅https://jsfiddle.net/yt2zhx63/

答案 1 :(得分:1)

consumer.delay 长 500 Camel 2.11:仅限SQL使用者:每次轮询之间的延迟(以毫秒为单位)。

来自http://camel.apache.org/sql-component.html