|
|
|
@ -143,10 +143,10 @@ namespace Volo.Abp.RabbitMQ |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
var channel = ConnectionPool |
|
|
|
Channel = ConnectionPool |
|
|
|
.Get(ConnectionName) |
|
|
|
.CreateModel(); |
|
|
|
channel.ExchangeDeclare( |
|
|
|
Channel.ExchangeDeclare( |
|
|
|
exchange: Exchange.ExchangeName, |
|
|
|
type: Exchange.Type, |
|
|
|
durable: Exchange.Durable, |
|
|
|
@ -154,7 +154,7 @@ namespace Volo.Abp.RabbitMQ |
|
|
|
arguments: Exchange.Arguments |
|
|
|
); |
|
|
|
|
|
|
|
channel.QueueDeclare( |
|
|
|
Channel.QueueDeclare( |
|
|
|
queue: Queue.QueueName, |
|
|
|
durable: Queue.Durable, |
|
|
|
exclusive: Queue.Exclusive, |
|
|
|
@ -162,19 +162,14 @@ namespace Volo.Abp.RabbitMQ |
|
|
|
arguments: Queue.Arguments |
|
|
|
); |
|
|
|
|
|
|
|
var consumer = new EventingBasicConsumer(channel); |
|
|
|
consumer.Received += async (model, basicDeliverEventArgs) => |
|
|
|
{ |
|
|
|
await HandleIncomingMessageAsync(channel, basicDeliverEventArgs); |
|
|
|
}; |
|
|
|
var consumer = new AsyncEventingBasicConsumer(Channel); |
|
|
|
consumer.Received += HandleIncomingMessageAsync; |
|
|
|
|
|
|
|
channel.BasicConsume( |
|
|
|
Channel.BasicConsume( |
|
|
|
queue: Queue.QueueName, |
|
|
|
autoAck: false, |
|
|
|
consumer: consumer |
|
|
|
); |
|
|
|
|
|
|
|
Channel = channel; |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
@ -183,16 +178,16 @@ namespace Volo.Abp.RabbitMQ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual async Task HandleIncomingMessageAsync(IModel channel, BasicDeliverEventArgs basicDeliverEventArgs) |
|
|
|
protected virtual async Task HandleIncomingMessageAsync(object sender, BasicDeliverEventArgs basicDeliverEventArgs) |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
foreach (var callback in Callbacks) |
|
|
|
{ |
|
|
|
await callback(channel, basicDeliverEventArgs); |
|
|
|
await callback(Channel, basicDeliverEventArgs); |
|
|
|
} |
|
|
|
|
|
|
|
channel.BasicAck(basicDeliverEventArgs.DeliveryTag, multiple: false); |
|
|
|
Channel.BasicAck(basicDeliverEventArgs.DeliveryTag, multiple: false); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
|