в @Document'ax еластика по сравнению с тем, что в самом Еластике? Мб есть какая-то валидация для этого.
Еще есть вопрос насчет @StreamListener(target = Sink.INPUT).
Как я могу указать этому консьюмер методу, чтобы он начал работать только после того, как некий другой метод с @EventListener(ApplicationReadyEvent.class) завершил свою работу?
Насчёт эластика не уверен, давно с ним работал, но там в аннотации @Document же вроде был аргумент для маппинга, и при старте он не давал стартануть из-за конфликта, но могу ошибаться. Насчёт StreamListener: вам необходимо взять Бин BindingEndpoints, и с помощью него можно управлять стейтом листнера. Например, bindingEndpoints.changeState(Sink.INPUT, BindingEndpoints.State.STARTED) Ну и, конечно, в конфиге проперти autoStartup поставить false
а зачем?
немного не понятно, это мне нужно в @StreamListener настраивать связь с евентлистенером? Или же внутри евентлистенера этот биндинг сделать State.PAUSED допустим, чтобы тот консьюмер не стартовал пока этот не закончится?
что именно?)
В том классе, где у вас евент листнер, вы можете изменить стейт биндинга на started, а через проперти autoStartup = false, вы сделаете, чтобы он не запускался на старте
имеете ввиду наоборот - paused? т.е. пока этот класс с евент листенером не завершился - не стартовать класс с Stream listener
Да зачем paused у вас итак он stopped будет, вам нужно его стартануть в нужный момент только
запутано 😝😁 https://pastebin.com/Zf3Q6bhu
Да, и вот в конце метода method, можно стартануть биндинг, у вас же там всё отработает и можно включать А если вы проперти autoStartup = false поставите, то он на старте стартовать не будет, вы сами будете стартом управлять
понял спасибо)
Обсуждают сегодня