#java #rest #asynchronous
#java #rest #асинхронный
Вопрос:
Я хочу выполнить асинхронный вызов REST для моей службы. Это похоже на то, что клиент вызвал мою службу, я отправляю клиенту подтверждение о том, что я его получил и обрабатываю, а в серверной части я обрабатываю запрос.
Я пытаюсь использовать следующий подход:
private static ExecutorService executor = Executors.newFixedThreadPool(10);
@GET
@Path("/health")
public String checkHealth() {
executor.execute(new Runnable() {
@Override
public void run() {
LocalDateTime start= LocalDateTime.now();
System.out.println("Inside");
int count=0;
while(ChronoUnit.SECONDS.between( LocalDateTime.now(),start)<10) {
System.out.println("Count: " count);
count ;
}
//here a heavy work which can take a long time
}
});
return "{"Test": "Success"}";
}
Это хороший подход? Или есть какой-нибудь лучший подход, который я могу использовать для достижения этой цели?
Комментарии:
1. Лучший подход должен использовать реактивный поток, что-то вроде Spring WebFlux или Eclipse vert.x
2. какую структуру вы используете?
3. JAXRS я использую для достижения этой цели