Merge pull request #582 from i02coroj/fix-messages-lost

Update EventBusServiceBus.cs
This commit is contained in:
Miguel Veloso 2018-07-26 20:02:33 +01:00 committed by GitHub
commit c3983b30c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -129,10 +129,12 @@
{
var eventName = $"{message.Label}{INTEGRATION_EVENT_SUFIX}";
var messageData = Encoding.UTF8.GetString(message.Body);
await ProcessEvent(eventName, messageData);
// Complete the message so that it is not received again.
if (await ProcessEvent(eventName, messageData))
{
await _subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
}
},
new MessageHandlerOptions(ExceptionReceivedHandler) { MaxConcurrentCalls = 10, AutoComplete = false });
}
@ -148,8 +150,9 @@
return Task.CompletedTask;
}
private async Task ProcessEvent(string eventName, string message)
private async Task<bool> ProcessEvent(string eventName, string message)
{
var processed = false;
if (_subsManager.HasSubscriptionsForEvent(eventName))
{
using (var scope = _autofac.BeginLifetimeScope(AUTOFAC_SCOPE_NAME))
@ -173,7 +176,9 @@
}
}
}
processed = true;
}
return processed;
}
private void RemoveDefaultRule()