Совместное использование TopicProcessor и Flux из ProjectReactor между двумя загрузочными приложениями Spring - PullRequest
0 голосов
/ 04 июля 2018

У меня есть два приложения с загрузочной пружиной, которые имеют общий модуль. В этом общем модуле я создаю TopicProcessor и Flux из ProjectReactor

    @Bean
    public TopicProcessor<?> topicProcessor() {
        return TopicProcessor.<?>builder().autoCancel(false).share(true).build();
    }

    @Bean
    public Flux<?> eventFlux(TopicProcessor<?> topicProcessor) {
       return topicProcessor.publish().autoConnect();
    }

Затем я внедряю TopicProcessor в два экземпляра Spring Boot (экземпляр Spring Boot и экземпляр Spring Boot B) и компонент Bex только в один из них (экземпляр Spring Boot B).

Итак, когда я отправляю событие из экземпляра B, я могу получить его в Flux. Но если я отправлю событие из экземпляра A, я не смогу получить его в экземпляре B.

Это потому, что TopipcProcessor - это другой компонент в экземплярах A и B. Возможно ли разделить этот компонент между двумя экземплярами?

1 Ответ

0 голосов
/ 04 июля 2018

Нет, это невозможно, просто потому что совместное использование bean-компонентов между двумя приложениями Spring Boot не поддерживается.

...