У меня есть следующий метод, в котором я пытаюсь вернуть тип без пустот и надеюсь обработать опубликованное событие тем же методом (рекурсивно).:
@EventListener
@Async
public GenericSpringEvent<?> onGenericEvent(GenericSpringEvent<?> event) throws InterruptedException {
Thread.sleep(5000);
System.out.println("Received spring generic event - " + event.getWhat() + ", thread id " + Thread.currentThread().getId());
return new GenericSpringEvent<String>(String.valueOf(System.currentTimeMillis()), true);
}
Метод изначально вызывается следующим вызовом в моем приложении:
GenericSpringEvent<String> genericSpringEvent = new GenericSpringEvent<>("GENERIC - STRING - TRUE", true);
applicationEventPublisher.publishEvent(genericSpringEvent);
слушатель вызывается только один раз. Я ожидал бы бесконечный цикл вместо этого. Может кто-нибудь объяснить мне, как этого добиться. Это не должен быть тот же самый метод слушателя, хотя я хотел бы понять, как работает эта функция, не возвращающая пустоты. Thanx!