resolve the errors in service

This commit is contained in:
zedy 2021-07-23 10:08:37 +08:00
parent f11360bc3b
commit 0ae855d9e3
12 changed files with 2697 additions and 86 deletions

View File

@ -7,8 +7,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
public class DefaultServiceBusPersisterConnection : IServiceBusPersisterConnection
{
private readonly string _serviceBusConnectionString;
private ServiceBusAdministrationClient _subscriptionClient;
private ServiceBusClient _topicClient;
private ServiceBusAdministrationClient _subscriptionClient;
bool _disposed;
@ -39,7 +39,6 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
}
}
public ServiceBusClient CreateModel()
{
if (_topicClient.IsClosed)

View File

@ -6,7 +6,6 @@ using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Abstractions;
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
using Microsoft.Extensions.Logging;
using System;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
@ -17,7 +16,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
private readonly ILogger<EventBusServiceBus> _logger;
private readonly IEventBusSubscriptionsManager _subsManager;
private readonly ILifetimeScope _autofac;
private readonly string _topicName;
private readonly string _topicName = "eshop_event_bus";
private readonly string _subscriptionName;
private ServiceBusSender _sender;
private ServiceBusProcessor _processor;
@ -25,20 +24,18 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
private const string INTEGRATION_EVENT_SUFFIX = "IntegrationEvent";
public EventBusServiceBus(IServiceBusPersisterConnection serviceBusPersisterConnection,
ILogger<EventBusServiceBus> logger, IEventBusSubscriptionsManager subsManager, ILifetimeScope autofac, string topicName, string subscriptionName)
ILogger<EventBusServiceBus> logger, IEventBusSubscriptionsManager subsManager, ILifetimeScope autofac, string subscriptionClientName)
{
_serviceBusPersisterConnection = serviceBusPersisterConnection;
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_subsManager = subsManager ?? new InMemoryEventBusSubscriptionsManager();
_autofac = autofac;
_topicName = topicName;
_subscriptionName = subscriptionName;
_subscriptionName = subscriptionClientName;
_sender = _serviceBusPersisterConnection.TopicClient.CreateSender(_topicName);
ServiceBusProcessorOptions options = new ServiceBusProcessorOptions { MaxConcurrentCalls = 10, AutoCompleteMessages = false };
_processor = _serviceBusPersisterConnection.TopicClient.CreateProcessor(_topicName, options);
RemoveDefaultRule();
RegisterSubscriptionClientMessageHandlerAsync().GetAwaiter().GetResult();
}
public void Publish(IntegrationEvent @event)
@ -125,12 +122,6 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
_subsManager.RemoveDynamicSubscription<TH>(eventName);
}
public void Dispose()
{
_subsManager.Clear();
_processor.CloseAsync().GetAwaiter().GetResult();
}
private async Task RegisterSubscriptionClientMessageHandlerAsync()
{
_processor.ProcessMessageAsync +=
@ -150,6 +141,12 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus
await _processor.StartProcessingAsync();
}
public void Dispose()
{
_subsManager.Clear();
_processor.CloseAsync().GetAwaiter().GetResult();
}
private Task ErrorHandler(ProcessErrorEventArgs args)
{
var ex = args.Exception;

View File

@ -7,7 +7,7 @@
<ItemGroup>
<PackageReference Include="Autofac" Version="6.1.0" />
<PackageReference Include="Azure.Messaging.ServiceBus" Version="7.1.2" />
<PackageReference Include="Azure.Messaging.ServiceBus" Version="7.2.1" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0" />
</ItemGroup>

View File

@ -283,12 +283,10 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = Configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = Configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger,
eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}
else

View File

@ -50,7 +50,6 @@
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.1.0" />
<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.2.1" />
<PackageReference Include="Azure.Identity" Version="1.4.0" />
<PackageReference Include="Azure.Messaging.ServiceBus" Version="7.2.0" />
<PackageReference Include="Google.Protobuf" Version="3.14.0" />
<PackageReference Include="Grpc.AspNetCore.Server" Version="2.34.0" />
<PackageReference Include="Grpc.Tools" Version="2.34.0" PrivateAssets="All" />

View File

@ -332,12 +332,10 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger,
eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}

View File

@ -375,12 +375,10 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger,
eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}
else

View File

@ -64,11 +64,9 @@ namespace Ordering.BackgroundTasks.Extensions
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger, eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
return new EventBusServiceBus(serviceBusPersisterConnection, logger, eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}
else

View File

@ -212,12 +212,10 @@ namespace Ordering.SignalrHub
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = Configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = Configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger,
eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}
else

View File

@ -129,12 +129,10 @@ namespace Payment.API
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = Configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = Configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger,
eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}
else

View File

@ -215,12 +215,10 @@ namespace Webhooks.API
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
var logger = sp.GetRequiredService<ILogger<EventBusServiceBus>>();
var eventBusSubcriptionsManager = sp.GetRequiredService<IEventBusSubscriptionsManager>();
var serviceBusConnectionString = configuration["EventBusConnection"];
string topicName = ServiceBusConnectionStringProperties.Parse(serviceBusConnectionString).EntityPath;
string subscriptionName = configuration["SubscriptionClientName"];
return new EventBusServiceBus(serviceBusPersisterConnection, logger,
eventBusSubcriptionsManager, iLifetimeScope, topicName, subscriptionName);
eventBusSubcriptionsManager, iLifetimeScope, subscriptionName);
});
}

File diff suppressed because it is too large Load Diff