Browse Source

Remove "Default" rule when the class is Instantiated

pull/235/head
Christian Arenas 7 years ago
parent
commit
4399d6a4f3
1 changed files with 19 additions and 3 deletions
  1. +19
    -3
      src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.cs

+ 19
- 3
src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.cs View File

@ -30,7 +30,8 @@
_subscriptionClient = new SubscriptionClient(serviceBusPersisterConnection.ServiceBusConnectionStringBuilder, _subscriptionClient = new SubscriptionClient(serviceBusPersisterConnection.ServiceBusConnectionStringBuilder,
subscriptionClientName); subscriptionClientName);
CreateConsumerChannel();
RemoveDefaultRule();
RegisterSubscriptionClientMessageHandler();
} }
public void Publish(IntegrationEvent @event) public void Publish(IntegrationEvent @event)
@ -60,7 +61,7 @@
var eventName = typeof(T).Name; var eventName = typeof(T).Name;
var containsKey = _subsManager.HasSubscriptionsForEvent<T>(); var containsKey = _subsManager.HasSubscriptionsForEvent<T>();
if (!containsKey) if (!containsKey)
{
{
try try
{ {
_subscriptionClient.AddRuleAsync(new RuleDescription _subscriptionClient.AddRuleAsync(new RuleDescription
@ -104,7 +105,7 @@
_subsManager.Clear(); _subsManager.Clear();
} }
private void CreateConsumerChannel()
private void RegisterSubscriptionClientMessageHandler()
{ {
_subscriptionClient.RegisterMessageHandler( _subscriptionClient.RegisterMessageHandler(
async (message, token) => async (message, token) =>
@ -132,5 +133,20 @@
} }
} }
} }
private void RemoveDefaultRule()
{
try
{
_subscriptionClient
.RemoveRuleAsync(SubscriptionClient.DefaultRule)
.GetAwaiter()
.GetResult();
}
catch (MessagingEntityNotFoundException)
{
_logger.LogInformation($"The messaging entity {SubscriptionClient.DefaultRule} Could not be found.");
}
}
} }
} }

Loading…
Cancel
Save