Как реализовать плавное завершение работы и прерывание цикла при отправке сигнала SIGTERM?JAVA

Программисты JAVA общаются здесь
Anonymous
Как реализовать плавное завершение работы и прерывание цикла при отправке сигнала SIGTERM?

Сообщение Anonymous »

Я хочу реализовать корректное завершение работы следующей службы Java. когда отправляется сигнал SIGTERM, я хочу, чтобы программа продолжала обрабатывать текущую задачу, но выходила из цикла. Как мне этого добиться?

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

@Service
@RequiredArgsConstructor
public class MessageAsyncService {

@Async
public void run(Client client) {
while (no SIGTERM) {
Message message = getNewMessage(client);
if (message = null)
break;
sendMessage(client, message);
}
// Moreprocess
}

public void sendMessage(Client client, Message message) {
// Update DB
// Send message to client
// Send notification to another service
// Some other notification to another service
// Update DB
...
}
}
Версия: Java 17, Spring Boot v3.3.1, Spring v6.1.10


Подробнее здесь: https://stackoverflow.com/questions/787 ... al-is-sent

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