Questions tagged [rabbitmq-exchange]

In RabbitMQ, messages are not published directly to a queue. Instead, the producer sends messages to an exchange. Use this tag only if your question is about the RabbitMQ Exchanges, or if the question revolves around the routing keys or message queues to which the exchange delivers the message for end publishing.

RabbitMQ is a message broker based on the AMPQ protocol.

Exchanges are AMQP entities where messages are sent. Exchanges take a message and route it into zero or more queues. The routing algorithm used depends on the exchange type and rules called bindings. AMQP 0-9-1 brokers provide four exchange types:

  • Direct exchange: (empty string) and amq.direct
  • Fanout exchange: amq.fanout
  • Topic exchange: amq.topic
  • Headers exchange: amq.match (and amq.headers in RabbitMQ)

Besides the exchange type, exchanges are declared with a number of attributes, the most important of which are:

  • Name
  • Durability (exchanges survive broker restart)
  • Auto-delete (exchange is deleted when all queues have finished using it)
  • Arguments (these are broker-dependent)

Exchanges can be durable or transient. Durable exchanges survive broker restart, whereas transient exchanges do not (they have to be redeclared when the broker comes back online). Not all scenarios and use cases require exchanges to be durable.

RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages.

419 questions
1
vote
0 answers

How to clear rabbitmq statistic graphs

Am using RabbitMQ for messaging queue and using the statistic graphs provided in the management portal. I want clear the graphs in between my tests, but don't know how to do it. I did try by clearing rabbitmq logs but no luck!
Vishwa
  • 607
  • 2
  • 11
  • 21
1
vote
0 answers

Replication of RabbitMQ queues into different node(upgraded)

I have one RabbitMQ cluster which consists of 3 nodes (each node has : Rabbitmq version :3.3.5, Erlang R14B0 ). Let's call this as Group1. Each node has n number of queues. I have another cluster with set of 3 nodes with specifications as RabbitMQ…
1
vote
1 answer

Separate Dead Letter Queue for each Message Consumer in RabbitMq

I have a publish-subscribe scenario built using RabbitMQ. There is an exchange where the messages are being sent by the publisher and any consumer subscribing to that exchange receives those messages in their respective queues. This is a fanout…
Soumya
  • 1,833
  • 5
  • 34
  • 45
1
vote
1 answer

RabbitMQ .NET client does no raise errors immediately

Here is a simple program that uses RabbitMQ.Client version 4.1.1: var message = Encoding.UTF8.GetBytes("test"); var cf = new ConnectionFactory(); using (var conn = cf.CreateConnection()) using (var channel = conn.CreateModel()) { int i = 1; …
actionresult
  • 399
  • 2
  • 8
1
vote
2 answers

RabbitMQ not throwing error on invalid routing key

I have the following code in C#, which does not throw error if the routing key is invalid. var connFactory = GetConnectionFactory(); using (var conn = connFactory.CreateConnection()) { using (var channel = conn.CreateModel()) { …
huber.duber
  • 762
  • 2
  • 7
  • 31
1
vote
0 answers

RabbitMQ delayed exchange plugin does not work after virtual ip switch

I'm working on a project which involved rabbitmq to receive and process information. I have setup a virtual IP under which all the actual instances of rabbitmq function. Applications connect to this virtual IP. RabbitMQ cluster has ha set to…
Lalit Mehra
  • 1,183
  • 1
  • 13
  • 33
1
vote
2 answers

RabbitMQ EventingBasicConsumer lose messages

I'm developing an application for messaging using Rabbit MQ. I use EventingBasicConsumer, Exchange and QueueBind. For test i run my application for receaving messages and then turn my ethernet controller off. After i turn it on receaving messges…
Timur Lemeshko
  • 2,747
  • 5
  • 27
  • 39
1
vote
0 answers

Using Rabbitmq broker for mqtt, showing mqtt queue but not the message. Code below

I am trying to send MQTT messages using RabbitMQ as a broker. I wrote the code below and tried to run it. I am able to see the MQTT Queue in the RabbitMQ dashboard, but there is no message. There is no message received, only the queue is being shown…
Admir
  • 11
  • 1
  • 2
1
vote
0 answers

WSO2 ESB RabbitMQ AMQP transport parameters

I'm using a RabbitMQ Inbound endpoint to receive messages send to an exchange. Everything runs fine, the queue and the exchange are created on Rabbit, but the exchanges paremeters are not applied, like the exchange type and durability. I tried…
1
vote
2 answers

How to use multiple vhosts in a Spring RabbitMQ project?

I've the following two Configuration classes: @Configuration @EnableRabbit @Import({ LocalRabbitConfigA.class, CloudRabbitConfigA.class }) public class RabbitConfigA { @Autowired @Qualifier("rabbitConnectionFactory_A") private…
Stef Heyenrath
  • 9,335
  • 12
  • 66
  • 121
1
vote
1 answer

Too many consumers in Rabbit MQ (Bunny)

I'm sending lots of data to my app through JMeter. My subscribe block and the publisher look like this: BunnyStarter.start_bunny_components cons = BunnyStarter.queue.subscribe do |delivery_info, metadata, payload| method_calling (…
Bogdan Popa
  • 1,099
  • 1
  • 16
  • 37
1
vote
2 answers

SpringAMQP delay

I'm having trouble to identify a way to delay message level in SpringAMQP. I call a Webservice if the service is not available or if it throws some exception I store all the requests into RabbitMQ queue and i keep retry the service call until it…
sea
  • 113
  • 8
1
vote
2 answers

Migrating from IBM MQ to RabbitMQ

Can we migrate from IBM MQ to Rabbit MQ ? Is this possible? Are there any dependencies.What are the factors that we need to look at.
Dilip
  • 365
  • 1
  • 6
  • 18
1
vote
1 answer

Rabbitmq consumer fail-over

I'm currently using Rabbitmq, I want to have 2 consumers listening the same queue. But have only one consumer notify by a new message, and other on failover if first crashes. How can I do ?
A.Caillet
  • 101
  • 6
1
vote
1 answer

RabbitMQ - 2 exchanges sending messages to the same queue

I have producer app with 2 separate instances (p1, p2), and consumer app with 2 separate instances (c1, c2). Producer p1 connects to exchange with topic= t1, queueName =name1. Consumer c1 connects to exchange with topic= t1, queueName…
KerenSi
  • 389
  • 7
  • 20