Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to NServiceBus 9 #3986

Merged
merged 11 commits into from Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
40 changes: 20 additions & 20 deletions src/Directory.Packages.props
Expand Up @@ -16,7 +16,7 @@
<PackageVersion Include="HdrHistogram" Version="2.5.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Client" Version="8.0.0" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.1.5" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
Expand All @@ -27,25 +27,24 @@
<PackageVersion Include="Mindscape.Raygun4Net.NetCore" Version="8.0.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="NLog.Extensions.Logging" Version="5.3.5" />
<PackageVersion Include="NServiceBus" Version="8.1.6" />
<PackageVersion Include="NServiceBus.AcceptanceTesting" Version="8.1.6" />
<PackageVersion Include="NServiceBus.AmazonSQS" Version="6.2.0" />
<PackageVersion Include="NServiceBus.CustomChecks" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Extensions.Hosting" Version="2.0.0" />
<PackageVersion Include="NServiceBus.Extensions.Logging" Version="2.0.0" />
<PackageVersion Include="NServiceBus.Heartbeat" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Metrics" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Metrics.ServiceControl" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Metrics.ServiceControl.Msmq" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Newtonsoft.Json" Version="3.0.0" />
<PackageVersion Include="NServiceBus.Persistence.NonDurable" Version="1.0.0" />
<PackageVersion Include="NServiceBus.RabbitMQ" Version="8.0.3" />
<PackageVersion Include="NServiceBus.SagaAudit" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Testing" Version="8.1.0" />
<PackageVersion Include="NServiceBus.Transport.AzureServiceBus" Version="3.2.2" />
<PackageVersion Include="NServiceBus.Transport.AzureStorageQueues" Version="12.0.1" />
<PackageVersion Include="NServiceBus.Transport.Msmq" Version="2.0.3" />
<PackageVersion Include="NServiceBus.Transport.SqlServer" Version="7.0.2" />
<PackageVersion Include="NServiceBus" Version="9.0.0" />
<PackageVersion Include="NServiceBus.AcceptanceTesting" Version="9.0.0" />
<PackageVersion Include="NServiceBus.AmazonSQS" Version="7.0.0" />
<PackageVersion Include="NServiceBus.CustomChecks" Version="5.0.0" />
<PackageVersion Include="NServiceBus.Extensions.Hosting" Version="3.0.0" />
<PackageVersion Include="NServiceBus.Extensions.Logging" Version="3.0.0" />
<PackageVersion Include="NServiceBus.Heartbeat" Version="5.0.0" />
<PackageVersion Include="NServiceBus.Metrics" Version="5.0.0" />
<PackageVersion Include="NServiceBus.Metrics.ServiceControl" Version="5.0.0" />
<PackageVersion Include="NServiceBus.Newtonsoft.Json" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Persistence.NonDurable" Version="2.0.0" />
<PackageVersion Include="NServiceBus.RabbitMQ" Version="9.0.0" />
<PackageVersion Include="NServiceBus.SagaAudit" Version="5.0.0" />
<PackageVersion Include="NServiceBus.Testing" Version="9.0.0" />
<PackageVersion Include="NServiceBus.Transport.AzureServiceBus" Version="4.0.0" />
<PackageVersion Include="NServiceBus.Transport.AzureStorageQueues" Version="13.0.0" />
<PackageVersion Include="NServiceBus.Transport.Msmq.Sources" Version="3.0.0" />
<PackageVersion Include="NServiceBus.Transport.SqlServer" Version="8.0.0" />
<PackageVersion Include="NuGet.Versioning" Version="6.8.0" />
<PackageVersion Include="NUnit" Version="3.14.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
Expand All @@ -58,6 +57,7 @@
<PackageVersion Include="ReactiveUI.WPF" Version="19.5.1" />
<PackageVersion Include="ServiceControl.Contracts" Version="4.0.0" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="8.0.0" />
<PackageVersion Include="System.DirectoryServices.AccountManagement" Version="8.0.0" />
<PackageVersion Include="System.Management" Version="8.0.0" />
<PackageVersion Include="System.Management.Automation" Version="7.2.18" />
Expand Down
2 changes: 1 addition & 1 deletion src/ProjectReferences.Transports.props
Expand Up @@ -4,7 +4,7 @@
<ProjectReference Include="..\ServiceControl.Transports.ASBS\ServiceControl.Transports.ASBS.csproj" ReferenceOutputAssembly="false" Private="false" />
<ProjectReference Include="..\ServiceControl.Transports.ASQ\ServiceControl.Transports.ASQ.csproj" ReferenceOutputAssembly="false" Private="false" />
<ProjectReference Include="..\ServiceControl.Transports.Learning\ServiceControl.Transports.Learning.csproj" ReferenceOutputAssembly="false" Private="false" />
<!--<ProjectReference Include="..\ServiceControl.Transports.Msmq\ServiceControl.Transports.Msmq.csproj" ReferenceOutputAssembly="false" Private="false" />-->
<ProjectReference Include="..\ServiceControl.Transports.Msmq\ServiceControl.Transports.Msmq.csproj" ReferenceOutputAssembly="false" Private="false" SkipGetTargetFrameworkProperties="true" UndefineProperties="TargetFramework" />
<ProjectReference Include="..\ServiceControl.Transports.RabbitMQ\ServiceControl.Transports.RabbitMQ.csproj" ReferenceOutputAssembly="false" Private="false" />
<ProjectReference Include="..\ServiceControl.Transports.SqlServer\ServiceControl.Transports.SqlServer.csproj" ReferenceOutputAssembly="false" Private="false" />
<ProjectReference Include="..\ServiceControl.Transports.SQS\ServiceControl.Transports.SQS.csproj" ReferenceOutputAssembly="false" Private="false" />
Expand Down
Expand Up @@ -64,7 +64,7 @@ public IScenarioWithEndpointBehavior<TContext> Done(Func<TContext, bool> doneCri
// If sequence is done but test is not finished, small delay to avoid tight loop check
await Task.Delay(250);

// If sequence is not finished immediately return false, since each step will enforce delays
// If sequence is not finished immediately return false, since each step will enforce delays
return false;
});
}
Expand Down Expand Up @@ -127,7 +127,7 @@ public override Task ComponentsStarted(CancellationToken cancellationToken = def
return Task.CompletedTask;
}

public override async Task Stop()
public override async Task Stop(CancellationToken cancellationToken = default)
{
if (checkTask == null)
{
Expand Down
120 changes: 0 additions & 120 deletions src/ServiceControl.AcceptanceTesting/StaticContextAppender.cs

This file was deleted.

26 changes: 0 additions & 26 deletions src/ServiceControl.AcceptanceTesting/StaticLoggerFactory.cs

This file was deleted.

Expand Up @@ -38,12 +38,6 @@ protected AcceptanceTest()
public Settings Settings => serviceControlRunnerBehavior.Settings;
public Func<HttpMessageHandler> HttpMessageHandlerFactory => serviceControlRunnerBehavior.HttpMessageHandlerFactory;

[OneTimeSetUp]
public static void OneTimeSetup()
{
Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx);
}

[SetUp]
public void Setup()
{
Expand Down
Expand Up @@ -4,6 +4,7 @@
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using AcceptanceTesting;
using Infrastructure.DomainEvents;
Expand Down Expand Up @@ -157,19 +158,19 @@ async Task InitializeServiceControl(ScenarioContext context)

host = hostBuilder.Build();
host.UseServiceControl();
await host.StartServiceControl();
await host.StartAsync();
DomainEvents = host.Services.GetRequiredService<IDomainEvents>();
// Bring this back and look into the base address of the client
HttpClient = host.GetTestServer().CreateClient();
HttpMessageHandlerFactory = () => host.GetTestServer().CreateHandler();
}
}

public override async Task Stop()
public override async Task Stop(CancellationToken cancellationToken = default)
{
using (new DiagnosticTimer($"Test TearDown for {instanceName}"))
{
await host.StopAsync();
await host.StopAsync(cancellationToken);
HttpClient.Dispose();
await host.DisposeAsync();
await persistenceToUse.Cleanup();
Expand Down
3 changes: 0 additions & 3 deletions src/ServiceControl.Audit.AcceptanceTests/AcceptanceTest.cs
Expand Up @@ -36,9 +36,6 @@ protected AcceptanceTest()
// TODO Check why this is necessary and if it can be removed
protected IServiceProvider ServiceProvider => serviceControlRunnerBehavior.ServiceProvider;

[OneTimeSetUp]
public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx);

[SetUp]
public void Setup()
{
Expand Down
Expand Up @@ -6,6 +6,7 @@ namespace ServiceControl.Audit.AcceptanceTests.TestSupport
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using AcceptanceTesting;
using Auditing;
Expand Down Expand Up @@ -179,11 +180,11 @@ async Task InitializeServiceControl(ScenarioContext context)
}
}

public override async Task Stop()
public override async Task Stop(CancellationToken cancellationToken = default)
{
using (new DiagnosticTimer($"Test TearDown for {instanceName}"))
{
await host.StopAsync();
await host.StopAsync(cancellationToken);
HttpClient.Dispose();
await host.DisposeAsync();
}
Expand Down
Expand Up @@ -28,10 +28,9 @@ public override async Task Execute(HostArguments args, Settings settings)
tokenSource.Cancel();
return Task.CompletedTask;
}, settings, endpointConfiguration, loggingSettings);
using var app = hostBuilder.Build();

using var app = hostBuilder.Build();
app.UseServiceControlAudit();

await app.StartAsync(tokenSource.Token);

var importer = app.Services.GetRequiredService<ImportFailedAudits>();
Expand Down
Expand Up @@ -22,8 +22,7 @@ public override async Task Execute(HostArguments args, Settings settings)
return Task.CompletedTask;
}, settings, endpointConfiguration, loggingSettings);

using var app = hostBuilder.Build();

var app = hostBuilder.Build();
app.UseServiceControlAudit();
await app.RunAsync();
}
Expand Down
8 changes: 2 additions & 6 deletions src/ServiceControl.Audit/WebApplicationBuilderExtension.cs
Expand Up @@ -82,13 +82,9 @@ static class WebApplicationBuilderExtension
services.AddMetrics(settings.PrintMetrics);

services.AddPersistence(persistenceSettings, persistenceConfiguration);
builder.Host.UseNServiceBus(_ =>
{
NServiceBusFactory.Configure(settings, transportCustomization, transportSettings, loggingSettings,
onCriticalError, configuration);

return configuration;
});
NServiceBusFactory.Configure(settings, transportCustomization, transportSettings, loggingSettings, onCriticalError, configuration);
builder.UseNServiceBus(configuration);

// Configure after the NServiceBus hosted service to ensure NServiceBus is already started
if (settings.IngestAuditMessages)
Expand Down