Idempotently declare a fanout exchange, and queue.
Idempotently declare a fanout exchange, and queue. Bind queue to exchange.
The queue into which the fanout messages should be delivered.
The fanout exchange
Idempotently declare a headers exchange, and queue.
Idempotently declare a headers exchange, and queue. Bind queue using modeled Header properties.
It's important to note that the type matters in matching. Header("thing", 1) and Header("thing", "1") and seen differently to RabbitMQ.
The op-rabbit Header properties class is modeled, such that the compiler will not allow you to specify a type that RabbitMQ does not support. Scala maps / seqs are appropriately converted.
The queue into which the matching messages should be delivered.
The headers exchange
List of modeled Header values used for matching.
Should all headers match in order to route the message to this queue? Default true. If false, then any if any of the match headers are matched, route the message. Pointless if only one match header defined.
Binding which declares a message queue, and then binds various topics to it.
Binding which declares a message queue, and then binds various topics to it. Note that bindings are idempotent.
The queue which will receive the messages matching the topics
A list of topics to bind to the message queue. Examples: "stock.*.nyse", "stock.#"
The topic exchange over which to listen for said topics. Defaults to durable, configured topic exchange, as named by configuration op-rabbit.topic-exchange-name
.