Грамотное завершение работы Spring Boot, если в очереди еще что-то естьJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Грамотное завершение работы Spring Boot, если в очереди еще что-то есть

Сообщение Anonymous »

У меня есть очень простое приложение весенней загрузки:

Код: Выделить всё

import org.springframework.web.bind.annotation.*;

import java.util.LinkedList;
import java.util.Queue;

@RestController
public class QuestionController {

private Queue queue = new LinkedList();

@PostMapping("/api/foos")
@ResponseBody
public String addFoo(@RequestParam(name = "id") String fooId) {
queue.add(fooId);
return "ID: " + fooId + " " + queue.size();
}

@GetMapping("/api/get")
@ResponseBody
public String getFoo() {
return queue.peek() + " " + queue.size();
}

}

В этом веб-сервисе есть очередь.
Метод post добавит что-то в очередь.
Метод get удалит что-то из очереди.
Я уверен, что количество полученных сообщений превышает количество сообщений.
Я хотел бы предотвратить закрытие приложения, если в очереди еще что-то есть!
Что я пробовал:
Из Springboot 2.3 есть свойство для плавного завершения работы.
Однако после того, как tring установил для свойства server.shutdown=graceful значение true, приложение все равно может быть закрыто с помощью чего-либо в очередь.
Вопрос:
Как предотвратить завершение работы приложения, если в очереди еще что-то есть, используя при этом концепцию изящного выключение.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -the-queue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»