Class MessageStreamHub

java.lang.Object
energy.eddie.core.services.MessageStreamHub
All Implemented Interfaces:
AutoCloseable

@Component public class MessageStreamHub extends Object implements AutoCloseable
A centralized hub for managing message streams between providers and receivers. This class uses Reactor's Sinks.Many and Flux to facilitate reactive communication. Each message type is mapped to a corresponding stream sink, allowing multiple providers and receivers to interact concurrently.
  • Constructor Details

    • MessageStreamHub

      public MessageStreamHub()
  • Method Details

    • registerProvider

      public <T> void registerProvider(Class<T> messageType, Supplier<reactor.core.publisher.Flux<T>> provider)
    • registerReceiver

      public <T> void registerReceiver(Class<T> messageType, Consumer<reactor.core.publisher.Flux<?>> receiver)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable