Приложение Spring на самом деле является просто Java приложением, и на самом деле Spring не несет ответственности за контроль над тем, как будет работать ваше приложение. Вы можете использовать любую функцию Java для блокировки основного потока, пока не произойдет какое-либо событие.
Например, в наших примерах мы используем System.in.read()
для блокировки основного потока:
System.out.println("Hit 'Enter' to terminate");
System.in.read();
ctx.close();
В этом случае конечный пользователь должен ввести что-то из CLI, чтобы разблокировать этот поток и выйти из программы.
Другим способом является ожидание некоторого CountDownLatch
, если вы заранее знаете несколько сообщений. Таким образом, при обработке сообщения вы должны «отсчитывать» защелку.