2016-02-06 3 views
1

Я создал класс маршрутизатора и отмечен как @Bean в @Configuration. Одна вещь, я не очень уверен, как часто верблюд будет делать запрос базы данных, чтобы получить результат выбора? Как только у меня будет новая запись в базе данных, верблюд вернется и обработает его.Apache 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

по умолчанию sql потребитель бассейн к базе данных каждые 500 мс. Вы можете настроить это с consumer.delay

from("sql:select ... &consumer.delay=5000") 
    .to(...) 

см the documentation of the sql component