Я использую веб-сервер Tomcat и у меня есть процесс, который извлекает большой объем данных. Пытаюсь ответить на запрос клиента и делаю это всего 5 раз за 10 секунд.
Для Apache Camel я новичок, поэтому настроил следующим образом , но завершается, как только выполняется служба REST.
・Controller.java
@RequestMapping(value = "searchInfo" , method = RequestMethod.GET)
public List searchInfo(@RequestParam Map requestParam) throws Exception{
try(CamelContext camel = new DefaultCamelContext()) {
camel.addRoutes(createBasicRoute());
camel.start();
}
List infoList = infoService.getInfo(requestParam.get("id));
return infoList;
}
static RouteBuilder createBasicRoute(){
return new RouteBuilder(){
@Override
public void configure() throws Exception{
rest("/E40101").to("direct:CamelRoute");
from("direct:CamelRoute")
.throttle(5)
.timePeriodMillis(10000)
.to("mock:result");
}
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... -flow-rate