Class RabbitDirectAsyncGateway

java.lang.Object
org.reactivecommons.async.rabbit.RabbitDirectAsyncGateway
All Implemented Interfaces:
org.reactivecommons.async.api.DirectAsyncGateway

public class RabbitDirectAsyncGateway extends Object implements org.reactivecommons.async.api.DirectAsyncGateway
  • Field Summary

    Fields inherited from interface org.reactivecommons.async.api.DirectAsyncGateway

    DELAYED
  • Constructor Summary

    Constructors
    Constructor
    Description
    RabbitDirectAsyncGateway(org.reactivecommons.async.commons.config.BrokerConfig config, org.reactivecommons.async.commons.reply.ReactiveReplyRouter router, ReactiveMessageSender sender, String exchange, org.reactivecommons.async.commons.converters.MessageConverter converter, io.micrometer.core.instrument.MeterRegistry meterRegistry)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> reactor.core.publisher.Mono<Void>
    reply(T response, org.reactivecommons.async.api.From from)
     
    <R extends io.cloudevents.CloudEvent>
    reactor.core.publisher.Mono<R>
    requestReply(io.cloudevents.CloudEvent query, String targetName, Class<R> type)
     
    <R extends io.cloudevents.CloudEvent>
    reactor.core.publisher.Mono<R>
    requestReply(io.cloudevents.CloudEvent query, String targetName, Class<R> type, String domain)
     
    <T, R> reactor.core.publisher.Mono<R>
    requestReply(org.reactivecommons.async.api.AsyncQuery<T> query, String targetName, Class<R> type)
     
    <T, R> reactor.core.publisher.Mono<R>
    requestReply(org.reactivecommons.async.api.AsyncQuery<T> query, String targetName, Class<R> type, String domain)
     
     
    reactor.core.publisher.Mono<Void>
    sendCommand(io.cloudevents.CloudEvent command, String targetName)
     
    reactor.core.publisher.Mono<Void>
    sendCommand(io.cloudevents.CloudEvent command, String targetName, long delayMillis)
     
    reactor.core.publisher.Mono<Void>
    sendCommand(io.cloudevents.CloudEvent command, String targetName, long delayMillis, String domain)
     
    reactor.core.publisher.Mono<Void>
    sendCommand(io.cloudevents.CloudEvent command, String targetName, String domain)
     
    <T> reactor.core.publisher.Mono<Void>
    sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName)
     
    <T> reactor.core.publisher.Mono<Void>
    sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName, long delayMillis)
     
    <T> reactor.core.publisher.Mono<Void>
    sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName, long delayMillis, String domain)
     
    <T> reactor.core.publisher.Mono<Void>
    sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName, String domain)
     
    <T> reactor.core.publisher.Flux<reactor.rabbitmq.OutboundMessageResult>
    sendCommands(reactor.core.publisher.Flux<org.reactivecommons.api.domain.Command<T>> commands, String targetName)
     

    Methods inherited from class java.lang.Object

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

    • RabbitDirectAsyncGateway

      public RabbitDirectAsyncGateway(org.reactivecommons.async.commons.config.BrokerConfig config, org.reactivecommons.async.commons.reply.ReactiveReplyRouter router, ReactiveMessageSender sender, String exchange, org.reactivecommons.async.commons.converters.MessageConverter converter, io.micrometer.core.instrument.MeterRegistry meterRegistry)
  • Method Details

    • sendCommand

      public <T> reactor.core.publisher.Mono<Void> sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public <T> reactor.core.publisher.Mono<Void> sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName, long delayMillis)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public <T> reactor.core.publisher.Mono<Void> sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName, String domain)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public <T> reactor.core.publisher.Mono<Void> sendCommand(org.reactivecommons.api.domain.Command<T> command, String targetName, long delayMillis, String domain)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public reactor.core.publisher.Mono<Void> sendCommand(io.cloudevents.CloudEvent command, String targetName)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public reactor.core.publisher.Mono<Void> sendCommand(io.cloudevents.CloudEvent command, String targetName, long delayMillis)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public reactor.core.publisher.Mono<Void> sendCommand(io.cloudevents.CloudEvent command, String targetName, String domain)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommand

      public reactor.core.publisher.Mono<Void> sendCommand(io.cloudevents.CloudEvent command, String targetName, long delayMillis, String domain)
      Specified by:
      sendCommand in interface org.reactivecommons.async.api.DirectAsyncGateway
    • sendCommands

      public <T> reactor.core.publisher.Flux<reactor.rabbitmq.OutboundMessageResult> sendCommands(reactor.core.publisher.Flux<org.reactivecommons.api.domain.Command<T>> commands, String targetName)
    • requestReply

      public <T, R> reactor.core.publisher.Mono<R> requestReply(org.reactivecommons.async.api.AsyncQuery<T> query, String targetName, Class<R> type)
      Specified by:
      requestReply in interface org.reactivecommons.async.api.DirectAsyncGateway
    • requestReply

      public <T, R> reactor.core.publisher.Mono<R> requestReply(org.reactivecommons.async.api.AsyncQuery<T> query, String targetName, Class<R> type, String domain)
      Specified by:
      requestReply in interface org.reactivecommons.async.api.DirectAsyncGateway
    • requestReply

      public <R extends io.cloudevents.CloudEvent> reactor.core.publisher.Mono<R> requestReply(io.cloudevents.CloudEvent query, String targetName, Class<R> type)
      Specified by:
      requestReply in interface org.reactivecommons.async.api.DirectAsyncGateway
    • requestReply

      public <R extends io.cloudevents.CloudEvent> reactor.core.publisher.Mono<R> requestReply(io.cloudevents.CloudEvent query, String targetName, Class<R> type, String domain)
      Specified by:
      requestReply in interface org.reactivecommons.async.api.DirectAsyncGateway
    • reply

      public <T> reactor.core.publisher.Mono<Void> reply(T response, org.reactivecommons.async.api.From from)
      Specified by:
      reply in interface org.reactivecommons.async.api.DirectAsyncGateway
    • resolveSender

      protected ReactiveMessageSender resolveSender(String domain)