Сервер асинхронных вызовов REST

#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 я использую для достижения этой цели