Skip to content

Commit 02d5e70

Browse files
authored
Fix of DelayedExchangeScheduler: do not create extra queue (#1032)
1 parent 19a87ca commit 02d5e70

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

RabbitMQ/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM rabbitmq:3.8-management
2+
RUN apt-get update && apt-get install -y wget
3+
RUN wget -O $RABBITMQ_HOME/plugins/rabbitmq_delayed_message_exchange-3.8.0.ez https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez
4+
RUN rabbitmq-plugins enable --offline rabbitmq_delayed_message_exchange

Source/EasyNetQ/Scheduling/DelayedExchangeScheduler.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,9 @@ private async Task FuturePublishInternalAsync<T>(TimeSpan messageDelay, T messag
8282

8383
var exchangeName = conventions.ExchangeNamingConvention(typeof (T));
8484
var futureExchangeName = exchangeName + "_delayed";
85-
var queueName = conventions.QueueNamingConvention(typeof (T), null);
8685
var futureExchange = await advancedBus.ExchangeDeclareAsync(futureExchangeName, ExchangeType.Direct, delayed: true).ConfigureAwait(false);
8786
var exchange = await advancedBus.ExchangeDeclareAsync(exchangeName, ExchangeType.Topic).ConfigureAwait(false);
8887
await advancedBus.BindAsync(futureExchange, exchange, topic).ConfigureAwait(false);
89-
var queue = await advancedBus.QueueDeclareAsync(queueName).ConfigureAwait(false);
90-
await advancedBus.BindAsync(exchange, queue, topic).ConfigureAwait(false);
9188
var easyNetQMessage = new Message<T>(message)
9289
{
9390
Properties =
@@ -107,12 +104,9 @@ private void FuturePublishInternal<T>(TimeSpan messageDelay, T message, string t
107104

108105
var exchangeName = conventions.ExchangeNamingConvention(typeof(T));
109106
var futureExchangeName = exchangeName + "_delayed";
110-
var queueName = conventions.QueueNamingConvention(typeof(T), null);
111107
var futureExchange = advancedBus.ExchangeDeclare(futureExchangeName, ExchangeType.Direct, delayed: true);
112108
var exchange = advancedBus.ExchangeDeclare(exchangeName, ExchangeType.Topic);
113109
advancedBus.Bind(futureExchange, exchange, topic);
114-
var queue = advancedBus.QueueDeclare(queueName);
115-
advancedBus.Bind(exchange, queue, topic);
116110
var easyNetQMessage = new Message<T>(message)
117111
{
118112
Properties =
@@ -125,4 +119,4 @@ private void FuturePublishInternal<T>(TimeSpan messageDelay, T message, string t
125119
}
126120

127121
}
128-
}
122+
}

docker-compose.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
version: '3.4'
22
services:
33
rabbitmq:
4-
image: rabbitmq:3-management
4+
build:
5+
context: ./RabbitMQ/
56
ports:
67
- "15672:15672"
78
- "5672:5672"

0 commit comments

Comments
 (0)