Trait

eu.shiftforward.adstax.util

RabbitMQUtilAsync

Related Doc: package util

Permalink

trait RabbitMQUtilAsync extends AnyRef

Inheriting from this trait provides useful methods to interact with RabbitMQ using akka Actors.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RabbitMQUtilAsync
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def rmqActorRefFactory: ActorRefFactory

    Permalink
  2. abstract def rmqConfig: Config

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object AmqpDeliveryJsObject

    Permalink

    Extracts a JsObject from an Amqp Delivery message.

    Extracts a JsObject from an Amqp Delivery message.

    Usage:

    amqpDelivery match {
      case AmqpDeliveryJsObject(json) => json.convertTo[Something]
      case Delivery(_, _, _, bodyInBytes) => // will only match if the message is not a valid json object
    }
  5. object AmqpDeliveryString

    Permalink

    Extracts a String from an Amqp Delivery message.

    Extracts a String from an Amqp Delivery message.

    Usage:

    amqpDelivery match {
      case AmqpDeliveryString(string) => println(string)
    }
  6. object AmqpPublishJsObject

    Permalink

    Converts a AmqpPublishJsObject that receives a JsObject, to an Amqp.Publish.

  7. object AmqpPublishString

    Permalink

    Converts a AmqpPublishString that receives a String, to an Amqp.Publish.

  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. lazy val connectionOwner: ActorRef

    Permalink
  11. def createProducer(handlerActor: Option[ActorRef]): ActorRef

    Permalink

    Creates a producer.

    Creates a producer. When the broker has a connection to the channel, the handler actor will be notified that the producer is connected.

    handlerActor

    the actor to handle the channel state; it can receive the messages com.github.sstone.amqp.ChannelOwner.Disconnected, com.github.sstone.amqp.ChannelOwner.Connected or a com.github.sstone.amqp.Amqp.Error.

    returns

    the actor ref of the producer

  12. def createRpcClient(handlerActor: Option[ActorRef] = None): Future[ActorRef]

    Permalink

    Create a rpc client

    Create a rpc client

    handlerActor

    the actor to handle the channel state; it can receive the messages

    returns

    the rpc client actor ref

  13. def createRpcServer(exchangeName: String, routingKey: String, queueName: Option[String] = None, handlerActor: Option[ActorRef] = None, timeout: Option[FiniteDuration] = None)(server: (Delivery) ⇒ Future[ProcessResult])(implicit ec: ExecutionContext): Future[String]

    Permalink

    Setup a RpcServer asynchronously.

    Setup a RpcServer asynchronously. When the broker has a connection to the channel, the exchange and queues are declared and then it will start to process incoming messages.

    The queue name can be None to create a One-To-Many (all servers/processors handle the request) or specified for a One-To-Any (only one server/processor will handle the request).

    exchangeName

    the exchange name

    routingKey

    the routing key

    queueName

    the queue name

    handlerActor

    the actor to handle the channel state; it can receive the messages com.github.sstone.amqp.ChannelOwner.Disconnected, com.github.sstone.amqp.ChannelOwner.Connected or a com.github.sstone.amqp.Amqp.Error.

    timeout

    an optional message timeout to avoid filling up the queue with old, already ignored, responses

    server

    the function that processes an Delivery

    ec

    the implicit execution context

    returns

    the future with the queue name

  14. def createStashedProducer(): ActorRef

    Permalink

    Creates a producer which stashes messages until the producer is fully connected to the rmq.

    Creates a producer which stashes messages until the producer is fully connected to the rmq.

    returns

    the actor ref of the producer proxy.

  15. def declareExchange(exchangeName: String, exchangeType: String = "topic", handlerActor: Option[ActorRef] = None): Future[Unit]

    Permalink

    Declare an exchange asynchronously.

    Declare an exchange asynchronously. When the broker has a connection to the channel, the exchange will be declared.

    exchangeName

    the exchange name

    exchangeType

    the exchange type

    handlerActor

    the actor to handle the channel state; it can receive the messages com.github.sstone.amqp.ChannelOwner.Disconnected, com.github.sstone.amqp.ChannelOwner.Connected or a com.github.sstone.amqp.Amqp.Error.

    returns

    the future that completes this exchange declaration

  16. def declareQueue(exchangeName: String, routingKey: String, queueName: Option[String] = None, handlerActor: Option[ActorRef] = None, clientFacing: Boolean = false): Future[String]

    Permalink

    Declare a queue asynchronously.

    Declare a queue asynchronously. When the broker has a connection to the channel, the queue will be declared.

    exchangeName

    the exchange name

    routingKey

    the routing key

    queueName

    the queue name, pass None to generate one randomly

    handlerActor

    the actor to handle the channel state; it can receive the messages com.github.sstone.amqp.ChannelOwner.Disconnected, com.github.sstone.amqp.ChannelOwner.Connected or a com.github.sstone.amqp.Amqp.Error.

    clientFacing

    true if the queue will be read by an external client

    returns

    the future with the queue name

  17. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  19. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. def setListeningConsumer(actor: ActorRef, exchangeName: String, routingKey: String, queueName: Option[String] = None, autodelete: Boolean = true, handlerActor: Option[ActorRef] = None, clientFacing: Boolean = false): Future[(ActorRef, String)]

    Permalink

    Bind a specific queue to a given actor asynchronously.

    Bind a specific queue to a given actor asynchronously. When the broker has a connection to the channel, the queue is declared and bound to the given actor.

    actor

    the actor which will listen to the queue

    exchangeName

    the exchange name

    routingKey

    the routing key

    queueName

    the queue name, pass None to generate one randomly

    autodelete

    if true, the queue will be destroyed when it is no longer used

    handlerActor

    the actor to handle the channel state; it can receive the messages com.github.sstone.amqp.ChannelOwner.Disconnected, com.github.sstone.amqp.ChannelOwner.Connected or a com.github.sstone.amqp.Amqp.Error.

    clientFacing

    true if the queue will be read by an external client

    returns

    the future with the consumer actor and the queue name

  27. def setListeningQueue(actor: ActorRef, exchangeName: String, routingKey: String, queueName: Option[String] = None, autodelete: Boolean = true, handlerActor: Option[ActorRef] = None, clientFacing: Boolean = false): Future[String]

    Permalink

    Bind a specific queue to a given actor asynchronously.

    Bind a specific queue to a given actor asynchronously. When the broker has a connection to the channel, the queue is declared and bound to the given actor.

    actor

    the actor which will listen to the queue

    exchangeName

    the exchange name

    routingKey

    the routing key

    queueName

    the queue name, pass None to generate one randomly

    autodelete

    if true, the queue will be destroyed when it is no longer used

    handlerActor

    the actor to handle the channel state; it can receive the messages com.github.sstone.amqp.ChannelOwner.Disconnected, com.github.sstone.amqp.ChannelOwner.Connected or a com.github.sstone.amqp.Amqp.Error.

    clientFacing

    true if the queue will be read by an external client

    returns

    the future with the queue name

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped