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
1 answer

RabbitMQ Quorum Queue - Is the data written to/delivered by only one node?

In a RabbitMQ Quorum Queue (using raft) cluster of say 4 nodes (N1-N4), Can I have a consumer that can read only from N1/N2? In this case, will a message produced in N3, be delivered to a consume via N1/N2? As per the documentation from the below…
Jerald Baker
  • 1,121
  • 1
  • 12
  • 48
1
vote
1 answer

RabbitMQ users + how to create user for rabbitmq

we get the following when we want to see rabbitmq users rabbitmqctl list_users Listing users ... guest [administrator] ...done. now we want to add user airflow ( create user ) what is the right approach to add user ? expected output rabbitmqctl…
jessica
  • 2,426
  • 24
  • 66
1
vote
3 answers

Get queueName in Message listner of RabbitMq

I am creating multiple consumers in the loop by which I am able to listen to multiple queues. The issue in this approach is I am able to get the events from the different queues but all the queues are using the same consumer so it is hard to…
Mannu
  • 209
  • 5
  • 18
1
vote
1 answer

How to send a XML file to RabbitMQ using Python?

I am having an xml file called Test.xml which I am trying to send RabbitMQ using python. I know below deatails regarding the Rabbit MQ Hostname: xxx.xxxx.xxx AMQP Port (SSL) :4589 ESB Portal (Message Search): http://xxx.xxx.xxx:8585 RabbitMQ…
aeapen
  • 871
  • 1
  • 14
  • 28
1
vote
2 answers

how to create multiple(20-30) rabbitMQ queue using loop in spring boot

not helpful: multiple Rabbitmq queues with spring boot
1
vote
0 answers

Acknolwedge messages on intervals in rabbitMQ?

I have a requirement that if my consumer read the messages from the queue and could not acknowledge some messages due to some issue. Then I want after a certain time lets say in every 30 seconds it should acknowledge pending messages. Can we do it?…
TechChain
  • 8,404
  • 29
  • 103
  • 228
1
vote
1 answer

RabbitMQ Consumer/Reciever not working in C# Windows Form

I am currently working with the rabbitMQ server, As when i try working in c# console application, the publish exchange working and successfully save in the server and the message will lively appear in the console but when i apply my source code in…
1
vote
1 answer

Question about rabbitmq message persistence mechanism

I am reading Persistence Configuration, and I have some questions. I know that queues can be either durable or not, and messages are also divided into two categories: persistent or transient. As the document says: Persistent messages will be…
zysaaa
  • 1,777
  • 2
  • 8
  • 19
1
vote
0 answers

SimpleMessageListenerContainer Bean not invoking after first message in a particular queue

I am consuming messages and then passing them on to a taskexecutor.. My MessageListener will instantiate a SimpleMessageListenerContainer Bean which in turn will instantiate other beans(consumer etc). When I start the tomcat server and post a…
1
vote
2 answers

Accessing RabbitMQ logs in real time

I came across an interesting subject when reading the book "RabbitMQ in Action" by Manning. Apparently it's possible to set up consumers to be able to receive all RabbitMQ logging in real time in the consumer. I read that RabbitMQ publishes logging…
Ozkan
  • 3,880
  • 9
  • 47
  • 78
1
vote
1 answer

Flow control limitting message rate on single queue

I have a exchange and only one queue bind to it. When the message publishing rate goes over some cap the rabbitmq automatically throttles the incoming message rate. On further investigation i found this happens due to the "Flow control" trottling…
Artandor
  • 472
  • 6
  • 20
1
vote
1 answer

In RabbitMQ default exchange doesn't work 'COMMAND_INVALID - invalid exchange type '''

I'm learning RabbitMQ with tutorial https://www.rabbitmq.com/tutorials/tutorial-six-php.html. I've copied code from example. But I get Exception when I run this example. COMMAND_INVALID - invalid exchange type '' All previous examples worked…
1
vote
0 answers

My simple Java RabbitMQ client error: (Exception message: Connection reset)

I have a RabbitMQ client in Java listening to incoming notification messages to process them (RabbitMQ Java client version 5.5.1). After months of running smoothly, suddenly yesterday I saw this error showing up, after which no message was…
Tina J
  • 4,983
  • 13
  • 59
  • 125
1
vote
1 answer

How to check and monitor activity logs in RabbitMQ

I wish to know if there is any way to get detailed logs of activities done on a RabbitMQ cluster. Activities include - If I add or remove a binding to an Exchange, When was these bindings added/deleted ? Who created the bhindings ? When was…
Kurshit
  • 143
  • 2
  • 15
1
vote
1 answer

Multiple queues with same routing key from an exchange with Apache Camel

I am trying to bind two queues to an exchange. Both queues must consume the same message (routing key). I am able to create these two queues directly with RabbitMQ. However, when I try the same with Apache Camel, it throws an exception stating…
Anoop
  • 813
  • 2
  • 10
  • 24