How to retrieve messages from RabbitMQ DeadLetter queue using MassTransit?How do I update the GUI from another thread?MassTransit with RabbitMQ: recovering the error queueDelete all the queues from RabbitMQ?What does MassTransit add to RabbitMQ?MassTransit with RabbitMQ: When is a message moved to the error queueRabbitMq + Masstransit queuesMassTransit RabbitMQ moving half of Consumed messages on Error Queue to Error_Skipped QueueMassTransit not sending messages - RabbitMQMassTransit - Management of Consuming Messages (RabbitMq)MassTransit compensation failure - deadletter?
Another solution to create a set with two conditions
Architectural feasibility of a tiered circular stone keep
Prevent use of CNAME record for untrusted domain
Removal of て in Japanese novels
Does this VCO produce a sine wave or square wave
How do proponents of Sola Scriptura address the ministry of those Apostles who authored no parts of Scripture?
"There were either twelve sexes or none."
Can an ISO file damage—or infect—the machine it's being burned on?
Separating old 2 x 4 brick with wheel holder
Was the Boeing 2707 design flawed?
Nothing like a good ol' game of ModTen
Why doesn't 'd /= d' throw a division by zero exception?
The Wires Underground
Why do banks “park” their money at the European Central Bank?
about to retire but not retired yet, employed but not working any more
Does ostensible/specious make sense in this sentence?
How to make onclick function execute only once?
Can a giant mushroom be used as a material to build watercraft or sailing ships?
What Practical Reasons May Encourage an Empire to Build a War Academy Campus in a Fortress or Structure that can be mobilized for War
Duplicate instruments in unison in an orchestra
How can I reorder triggered abilities in Arena?
Are there any elected officials in the U.S. who are not legislators, judges, or constitutional officers?
Can RMSE and MAE have the same value?
If the Shillelagh cantrip is applied to a club with non-standard damage dice, what is the resulting damage dice?
How to retrieve messages from RabbitMQ DeadLetter queue using MassTransit?
How do I update the GUI from another thread?MassTransit with RabbitMQ: recovering the error queueDelete all the queues from RabbitMQ?What does MassTransit add to RabbitMQ?MassTransit with RabbitMQ: When is a message moved to the error queueRabbitMq + Masstransit queuesMassTransit RabbitMQ moving half of Consumed messages on Error Queue to Error_Skipped QueueMassTransit not sending messages - RabbitMQMassTransit - Management of Consuming Messages (RabbitMq)MassTransit compensation failure - deadletter?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm trying to notify the user when a message is not received after some time, using MassTransit and RabbitMQ.
From what I read, the timeout is set using the TimeToLive property when the message is published. When that specified time runs out, the message should be automatically added to a Dead Letter queue, named with a "_skipped" at the end.
How do I retrieve messages from Dead Letter queues? In my attempt below, the message is added to the both queues right away, and it never times out.
I think I could do this using sagas, but it seems like a over complicated solution for such a simple problem, so I would like to avoid using it if at all possible.
static void Main(string[] args)
var bus = CreateBus("rabbitmq://localhost/", "guest", "guest", true);
var msg = new TestMessage("First Message");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
bus = CreateBus("rabbitmq://localhost/", "guest", "guest", false);
msg = new TestMessage("SecondMessage");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
private static IBusControl CreateBus(string rabbitUrl, string username, string password, bool enableEndpoint)
var bus = Bus.Factory.CreateUsingRabbitMq(c =>
var host = c.Host(new Uri(rabbitUrl), h =>
h.Username(username);
h.Password(password);
);
if (enableEndpoint)
c.ReceiveEndpoint(host, "TestQueue", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
c.ReceiveEndpoint(host, "TestQueue_skipped", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_skipped"));
);
);
bus.Start();
return bus;
private static void LogMessageSent(TestMessage msg)
Console.WriteLine(string.Format("0 - Message "1" sent.", DateTime.Now.ToString("HH:mm:ss"), msg.Content));
private static Task LogMessageReceived(TestMessage msg, string queueName)
Console.WriteLine(string.Format("0 - Message "1" received on queue "2".", DateTime.Now.ToString("HH:mm:ss"), msg.Content, queueName));
return Task.CompletedTask;
public class TestMessage
public string Content get;
public TestMessage(string content)
Content = content;
c# rabbitmq masstransit
add a comment |
I'm trying to notify the user when a message is not received after some time, using MassTransit and RabbitMQ.
From what I read, the timeout is set using the TimeToLive property when the message is published. When that specified time runs out, the message should be automatically added to a Dead Letter queue, named with a "_skipped" at the end.
How do I retrieve messages from Dead Letter queues? In my attempt below, the message is added to the both queues right away, and it never times out.
I think I could do this using sagas, but it seems like a over complicated solution for such a simple problem, so I would like to avoid using it if at all possible.
static void Main(string[] args)
var bus = CreateBus("rabbitmq://localhost/", "guest", "guest", true);
var msg = new TestMessage("First Message");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
bus = CreateBus("rabbitmq://localhost/", "guest", "guest", false);
msg = new TestMessage("SecondMessage");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
private static IBusControl CreateBus(string rabbitUrl, string username, string password, bool enableEndpoint)
var bus = Bus.Factory.CreateUsingRabbitMq(c =>
var host = c.Host(new Uri(rabbitUrl), h =>
h.Username(username);
h.Password(password);
);
if (enableEndpoint)
c.ReceiveEndpoint(host, "TestQueue", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
c.ReceiveEndpoint(host, "TestQueue_skipped", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_skipped"));
);
);
bus.Start();
return bus;
private static void LogMessageSent(TestMessage msg)
Console.WriteLine(string.Format("0 - Message "1" sent.", DateTime.Now.ToString("HH:mm:ss"), msg.Content));
private static Task LogMessageReceived(TestMessage msg, string queueName)
Console.WriteLine(string.Format("0 - Message "1" received on queue "2".", DateTime.Now.ToString("HH:mm:ss"), msg.Content, queueName));
return Task.CompletedTask;
public class TestMessage
public string Content get;
public TestMessage(string content)
Content = content;
c# rabbitmq masstransit
add a comment |
I'm trying to notify the user when a message is not received after some time, using MassTransit and RabbitMQ.
From what I read, the timeout is set using the TimeToLive property when the message is published. When that specified time runs out, the message should be automatically added to a Dead Letter queue, named with a "_skipped" at the end.
How do I retrieve messages from Dead Letter queues? In my attempt below, the message is added to the both queues right away, and it never times out.
I think I could do this using sagas, but it seems like a over complicated solution for such a simple problem, so I would like to avoid using it if at all possible.
static void Main(string[] args)
var bus = CreateBus("rabbitmq://localhost/", "guest", "guest", true);
var msg = new TestMessage("First Message");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
bus = CreateBus("rabbitmq://localhost/", "guest", "guest", false);
msg = new TestMessage("SecondMessage");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
private static IBusControl CreateBus(string rabbitUrl, string username, string password, bool enableEndpoint)
var bus = Bus.Factory.CreateUsingRabbitMq(c =>
var host = c.Host(new Uri(rabbitUrl), h =>
h.Username(username);
h.Password(password);
);
if (enableEndpoint)
c.ReceiveEndpoint(host, "TestQueue", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
c.ReceiveEndpoint(host, "TestQueue_skipped", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_skipped"));
);
);
bus.Start();
return bus;
private static void LogMessageSent(TestMessage msg)
Console.WriteLine(string.Format("0 - Message "1" sent.", DateTime.Now.ToString("HH:mm:ss"), msg.Content));
private static Task LogMessageReceived(TestMessage msg, string queueName)
Console.WriteLine(string.Format("0 - Message "1" received on queue "2".", DateTime.Now.ToString("HH:mm:ss"), msg.Content, queueName));
return Task.CompletedTask;
public class TestMessage
public string Content get;
public TestMessage(string content)
Content = content;
c# rabbitmq masstransit
I'm trying to notify the user when a message is not received after some time, using MassTransit and RabbitMQ.
From what I read, the timeout is set using the TimeToLive property when the message is published. When that specified time runs out, the message should be automatically added to a Dead Letter queue, named with a "_skipped" at the end.
How do I retrieve messages from Dead Letter queues? In my attempt below, the message is added to the both queues right away, and it never times out.
I think I could do this using sagas, but it seems like a over complicated solution for such a simple problem, so I would like to avoid using it if at all possible.
static void Main(string[] args)
var bus = CreateBus("rabbitmq://localhost/", "guest", "guest", true);
var msg = new TestMessage("First Message");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
bus = CreateBus("rabbitmq://localhost/", "guest", "guest", false);
msg = new TestMessage("SecondMessage");
LogMessageSent(msg);
bus.Publish(msg, c => c.TimeToLive = TimeSpan.FromSeconds(15));
Console.ReadKey();
bus.Stop();
private static IBusControl CreateBus(string rabbitUrl, string username, string password, bool enableEndpoint)
var bus = Bus.Factory.CreateUsingRabbitMq(c =>
var host = c.Host(new Uri(rabbitUrl), h =>
h.Username(username);
h.Password(password);
);
if (enableEndpoint)
c.ReceiveEndpoint(host, "TestQueue", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
c.ReceiveEndpoint(host, "TestQueue_skipped", x =>
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_skipped"));
);
);
bus.Start();
return bus;
private static void LogMessageSent(TestMessage msg)
Console.WriteLine(string.Format("0 - Message "1" sent.", DateTime.Now.ToString("HH:mm:ss"), msg.Content));
private static Task LogMessageReceived(TestMessage msg, string queueName)
Console.WriteLine(string.Format("0 - Message "1" received on queue "2".", DateTime.Now.ToString("HH:mm:ss"), msg.Content, queueName));
return Task.CompletedTask;
public class TestMessage
public string Content get;
public TestMessage(string content)
Content = content;
c# rabbitmq masstransit
c# rabbitmq masstransit
asked Mar 27 at 18:50
Ian EstevesIan Esteves
103 bronze badges
103 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Because you are calling Publish
, the message is sent to every subscriber. Since each receive endpoint is adding the consumer, that creates a subscription (and subsequent exchange binding in RabbitMQ) for that message type. You can disable this by specifying BindMessageExchanges = false
on that skipped receive endpoint. You will need to manually remove the exchange binding on the broker.
As to your TimeToLive question, that isn't how it works. TimeToLive is passed to the broker, and if the message expires, it is moved to a broker-specified dead-letter queue, if so configured. It is not moved to the skipped queue which has a different meaning in MassTransit. In MassTransit, the skipped queue is for messages that are delivered to a receive endpoint but there wasn't a consumer configured on that endpoint to consume the message.
For RabbitMQ, you can configure the dead-letter queue in MassTransit by using:
endpoint.BindDeadLetterQueue("dead-letter-queue-name");
This will configure the broker so that messages which reach their TTL are moved to the specified exchange/queue. Then your consumer on that receive endpoint will be able to consume them (again, be sure to set BindMessageExchanges = false
on the dead-letter receive endpoint.
For example:
c.ReceiveEndpoint(host, "TestQueue_expired", x =>
x.BindMessageExchanges = false;
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_expired"));
);
And then your original receive endpoint:
c.ReceiveEndpoint(host, "TestQueue", x =>
x.BindDeadLetterQueue("TestQueue_expired");
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
1
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55384537%2fhow-to-retrieve-messages-from-rabbitmq-deadletter-queue-using-masstransit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Because you are calling Publish
, the message is sent to every subscriber. Since each receive endpoint is adding the consumer, that creates a subscription (and subsequent exchange binding in RabbitMQ) for that message type. You can disable this by specifying BindMessageExchanges = false
on that skipped receive endpoint. You will need to manually remove the exchange binding on the broker.
As to your TimeToLive question, that isn't how it works. TimeToLive is passed to the broker, and if the message expires, it is moved to a broker-specified dead-letter queue, if so configured. It is not moved to the skipped queue which has a different meaning in MassTransit. In MassTransit, the skipped queue is for messages that are delivered to a receive endpoint but there wasn't a consumer configured on that endpoint to consume the message.
For RabbitMQ, you can configure the dead-letter queue in MassTransit by using:
endpoint.BindDeadLetterQueue("dead-letter-queue-name");
This will configure the broker so that messages which reach their TTL are moved to the specified exchange/queue. Then your consumer on that receive endpoint will be able to consume them (again, be sure to set BindMessageExchanges = false
on the dead-letter receive endpoint.
For example:
c.ReceiveEndpoint(host, "TestQueue_expired", x =>
x.BindMessageExchanges = false;
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_expired"));
);
And then your original receive endpoint:
c.ReceiveEndpoint(host, "TestQueue", x =>
x.BindDeadLetterQueue("TestQueue_expired");
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
1
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
add a comment |
Because you are calling Publish
, the message is sent to every subscriber. Since each receive endpoint is adding the consumer, that creates a subscription (and subsequent exchange binding in RabbitMQ) for that message type. You can disable this by specifying BindMessageExchanges = false
on that skipped receive endpoint. You will need to manually remove the exchange binding on the broker.
As to your TimeToLive question, that isn't how it works. TimeToLive is passed to the broker, and if the message expires, it is moved to a broker-specified dead-letter queue, if so configured. It is not moved to the skipped queue which has a different meaning in MassTransit. In MassTransit, the skipped queue is for messages that are delivered to a receive endpoint but there wasn't a consumer configured on that endpoint to consume the message.
For RabbitMQ, you can configure the dead-letter queue in MassTransit by using:
endpoint.BindDeadLetterQueue("dead-letter-queue-name");
This will configure the broker so that messages which reach their TTL are moved to the specified exchange/queue. Then your consumer on that receive endpoint will be able to consume them (again, be sure to set BindMessageExchanges = false
on the dead-letter receive endpoint.
For example:
c.ReceiveEndpoint(host, "TestQueue_expired", x =>
x.BindMessageExchanges = false;
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_expired"));
);
And then your original receive endpoint:
c.ReceiveEndpoint(host, "TestQueue", x =>
x.BindDeadLetterQueue("TestQueue_expired");
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
1
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
add a comment |
Because you are calling Publish
, the message is sent to every subscriber. Since each receive endpoint is adding the consumer, that creates a subscription (and subsequent exchange binding in RabbitMQ) for that message type. You can disable this by specifying BindMessageExchanges = false
on that skipped receive endpoint. You will need to manually remove the exchange binding on the broker.
As to your TimeToLive question, that isn't how it works. TimeToLive is passed to the broker, and if the message expires, it is moved to a broker-specified dead-letter queue, if so configured. It is not moved to the skipped queue which has a different meaning in MassTransit. In MassTransit, the skipped queue is for messages that are delivered to a receive endpoint but there wasn't a consumer configured on that endpoint to consume the message.
For RabbitMQ, you can configure the dead-letter queue in MassTransit by using:
endpoint.BindDeadLetterQueue("dead-letter-queue-name");
This will configure the broker so that messages which reach their TTL are moved to the specified exchange/queue. Then your consumer on that receive endpoint will be able to consume them (again, be sure to set BindMessageExchanges = false
on the dead-letter receive endpoint.
For example:
c.ReceiveEndpoint(host, "TestQueue_expired", x =>
x.BindMessageExchanges = false;
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_expired"));
);
And then your original receive endpoint:
c.ReceiveEndpoint(host, "TestQueue", x =>
x.BindDeadLetterQueue("TestQueue_expired");
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
Because you are calling Publish
, the message is sent to every subscriber. Since each receive endpoint is adding the consumer, that creates a subscription (and subsequent exchange binding in RabbitMQ) for that message type. You can disable this by specifying BindMessageExchanges = false
on that skipped receive endpoint. You will need to manually remove the exchange binding on the broker.
As to your TimeToLive question, that isn't how it works. TimeToLive is passed to the broker, and if the message expires, it is moved to a broker-specified dead-letter queue, if so configured. It is not moved to the skipped queue which has a different meaning in MassTransit. In MassTransit, the skipped queue is for messages that are delivered to a receive endpoint but there wasn't a consumer configured on that endpoint to consume the message.
For RabbitMQ, you can configure the dead-letter queue in MassTransit by using:
endpoint.BindDeadLetterQueue("dead-letter-queue-name");
This will configure the broker so that messages which reach their TTL are moved to the specified exchange/queue. Then your consumer on that receive endpoint will be able to consume them (again, be sure to set BindMessageExchanges = false
on the dead-letter receive endpoint.
For example:
c.ReceiveEndpoint(host, "TestQueue_expired", x =>
x.BindMessageExchanges = false;
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue_expired"));
);
And then your original receive endpoint:
c.ReceiveEndpoint(host, "TestQueue", x =>
x.BindDeadLetterQueue("TestQueue_expired");
x.Handler<TestMessage>(e => LogMessageReceived(e.Message, "TestQueue"));
);
answered Mar 28 at 12:20
Chris PattersonChris Patterson
10k1 gold badge27 silver badges30 bronze badges
10k1 gold badge27 silver badges30 bronze badges
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
1
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
add a comment |
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
1
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
I ran the example with the code changes you suggested, and the message was added to the "_expired" queue on timeout, but it was also added to that same queue right away, as if the "BindMessageExchanges = false" configuration was ignored. Is there any additional configuration I need to add?
– Ian Esteves
Mar 28 at 13:51
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
As I said, you need to go into the management console for RabbitMQ and remove the binding that was already created due to your previous configuration.
– Chris Patterson
Mar 28 at 17:38
1
1
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
I see. I thought that removing the queue would remove the exchange as well, but it was not the case. When I removed the exchange manually it worked. Thank you!
– Ian Esteves
Mar 28 at 17:56
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55384537%2fhow-to-retrieve-messages-from-rabbitmq-deadletter-queue-using-masstransit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown