Class AbstractMediator

java.lang.Object
io.smallrye.reactive.messaging.providers.AbstractMediator
Direct Known Subclasses:
ProcessorMediator, PublisherMediator, StreamTransformerMediator, SubscriberMediator

public abstract class AbstractMediator extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final io.smallrye.reactive.messaging.MediatorConfiguration
     
    protected HealthCenter
     
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractMediator(io.smallrye.reactive.messaging.MediatorConfiguration configuration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.smallrye.reactive.messaging.MediatorConfiguration
     
    void
    connectToUpstream(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> publisher)
     
    io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>
    convert(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> upstream)
     
    io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>
    decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> input)
     
    io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>
    decorateSubscriberSource(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> input)
     
    jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.keyed.KeyValueExtractor>
     
    protected io.smallrye.mutiny.Uni<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>
    extractTargetedMessage(String outgoing, org.eclipse.microprofile.reactive.messaging.Message<?> message)
     
    protected CompletionStage<org.eclipse.microprofile.reactive.messaging.Message<?>>
    getAckOrCompletion(org.eclipse.microprofile.reactive.messaging.Message<?> message)
     
    protected <T> Object[]
    getArguments(org.eclipse.microprofile.reactive.messaging.Message<T> message)
     
    Flow.Subscriber<org.eclipse.microprofile.reactive.messaging.Message<?>>
     
    io.smallrye.reactive.messaging.MediatorConfiguration
     
     
    io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>
     
    io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>
    getStream(String outgoing)
     
    protected CompletionStage<org.eclipse.microprofile.reactive.messaging.Message<?>>
    handlePreProcessingAck(org.eclipse.microprofile.reactive.messaging.Message<?> message)
     
    void
     
    protected <T> T
    invoke(Object... args)
     
    protected <T> io.smallrye.mutiny.Uni<T>
    invokeBlocking(org.eclipse.microprofile.reactive.messaging.Message<?> message, Object... args)
     
    protected <T> io.smallrye.mutiny.Uni<T>
    invokeOnMessageContext(org.eclipse.microprofile.reactive.messaging.Message<?> message, Object... args)
     
    abstract boolean
     
    protected Function<org.eclipse.microprofile.reactive.messaging.Message<?>,? extends CompletionStage<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>>
     
    int
     
    protected org.eclipse.microprofile.reactive.messaging.Message<Object>
     
    protected org.eclipse.microprofile.reactive.messaging.Message<Object>
    payloadToMessage(Object payload, org.eclipse.microprofile.reactive.messaging.Metadata metadata)
     
    void
    run()
     
    void
    setConverters(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.MessageConverter> converters)
     
    void
    setDecorators(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.PublisherDecorator> decorators)
     
    void
    setExtractors(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.keyed.KeyValueExtractor> extractors)
     
    void
     
    void
    setInvoker(io.smallrye.reactive.messaging.Invoker invoker)
     
    void
    setMaxConcurrency(int maxConcurrency)
     
    void
    setSubscriberDecorators(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.SubscriberDecorator> decorators)
     
    void
     
    static <T> io.smallrye.mutiny.Uni<T>
    skipContextPropagation(Supplier<io.smallrye.mutiny.Uni<? extends T>> supplier)
    Skips Mutiny supplier decoration in order to avoid context propagation.
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • configuration

      protected final io.smallrye.reactive.messaging.MediatorConfiguration configuration
    • workerPoolRegistry

      protected WorkerPoolRegistry workerPoolRegistry
    • health

      protected HealthCenter health
  • Constructor Details

    • AbstractMediator

      public AbstractMediator(io.smallrye.reactive.messaging.MediatorConfiguration configuration)
  • Method Details

    • setInvoker

      public void setInvoker(io.smallrye.reactive.messaging.Invoker invoker)
    • setDecorators

      public void setDecorators(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.PublisherDecorator> decorators)
    • setSubscriberDecorators

      public void setSubscriberDecorators(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.SubscriberDecorator> decorators)
    • setConverters

      public void setConverters(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.MessageConverter> converters)
    • setExtractors

      public void setExtractors(jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.keyed.KeyValueExtractor> extractors)
    • setWorkerPoolRegistry

      public void setWorkerPoolRegistry(WorkerPoolRegistry workerPoolRegistry)
    • setMaxConcurrency

      public void setMaxConcurrency(int maxConcurrency)
    • run

      public void run()
    • connectToUpstream

      public void connectToUpstream(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> publisher)
    • configuration

      public io.smallrye.reactive.messaging.MediatorConfiguration configuration()
    • initialize

      public void initialize(Object bean)
    • invoke

      protected <T> T invoke(Object... args)
    • invokeOnMessageContext

      protected <T> io.smallrye.mutiny.Uni<T> invokeOnMessageContext(org.eclipse.microprofile.reactive.messaging.Message<?> message, Object... args)
    • getArguments

      protected <T> Object[] getArguments(org.eclipse.microprofile.reactive.messaging.Message<T> message)
    • invokeBlocking

      protected <T> io.smallrye.mutiny.Uni<T> invokeBlocking(org.eclipse.microprofile.reactive.messaging.Message<?> message, Object... args)
    • skipContextPropagation

      public static <T> io.smallrye.mutiny.Uni<T> skipContextPropagation(Supplier<io.smallrye.mutiny.Uni<? extends T>> supplier)
      Skips Mutiny supplier decoration in order to avoid context propagation.
      Type Parameters:
      T - the type of the Uni
      Parameters:
      supplier - the supplier to skip context propagation
      Returns:
      a Uni that skips context propagation
    • getAckOrCompletion

      protected CompletionStage<org.eclipse.microprofile.reactive.messaging.Message<?>> getAckOrCompletion(org.eclipse.microprofile.reactive.messaging.Message<?> message)
    • getStream

      public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> getStream()
    • getStream

      public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> getStream(String outgoing)
    • getConfiguration

      public io.smallrye.reactive.messaging.MediatorConfiguration getConfiguration()
    • getMethodAsString

      public String getMethodAsString()
    • getComputedSubscriber

      public Flow.Subscriber<org.eclipse.microprofile.reactive.messaging.Message<?>> getComputedSubscriber()
    • isConnected

      public abstract boolean isConnected()
    • managePreProcessingAck

      protected Function<org.eclipse.microprofile.reactive.messaging.Message<?>,? extends CompletionStage<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>> managePreProcessingAck()
    • handlePreProcessingAck

      protected CompletionStage<org.eclipse.microprofile.reactive.messaging.Message<?>> handlePreProcessingAck(org.eclipse.microprofile.reactive.messaging.Message<?> message)
    • decorate

      public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> input)
    • decorateSubscriberSource

      public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> decorateSubscriberSource(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> input)
    • setHealth

      public void setHealth(HealthCenter health)
    • convert

      public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> convert(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> upstream)
    • extractors

      public jakarta.enterprise.inject.Instance<io.smallrye.reactive.messaging.keyed.KeyValueExtractor> extractors()
    • maxConcurrency

      public int maxConcurrency()
    • terminate

      public void terminate()
    • extractTargetedMessage

      protected io.smallrye.mutiny.Uni<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> extractTargetedMessage(String outgoing, org.eclipse.microprofile.reactive.messaging.Message<?> message)
    • payloadToMessage

      protected org.eclipse.microprofile.reactive.messaging.Message<Object> payloadToMessage(Object payload)
    • payloadToMessage

      protected org.eclipse.microprofile.reactive.messaging.Message<Object> payloadToMessage(Object payload, org.eclipse.microprofile.reactive.messaging.Metadata metadata)