diff --git a/src/Packaging.NServiceBus.AmazonSQS/Packaging.NServiceBus.AmazonSQS.csproj b/src/Packaging.NServiceBus.AmazonSQS/Packaging.NServiceBus.AmazonSQS.csproj index 9eba00f..9ef5a95 100644 --- a/src/Packaging.NServiceBus.AmazonSQS/Packaging.NServiceBus.AmazonSQS.csproj +++ b/src/Packaging.NServiceBus.AmazonSQS/Packaging.NServiceBus.AmazonSQS.csproj @@ -40,19 +40,19 @@ - ..\packages\AWSSDK.Core.3.3.21.6\lib\net45\AWSSDK.Core.dll + ..\packages\AWSSDK.Core.3.3.29.16\lib\net45\AWSSDK.Core.dll - ..\packages\AWSSDK.S3.3.3.16.2\lib\net45\AWSSDK.S3.dll + ..\packages\AWSSDK.S3.3.3.31.3\lib\net45\AWSSDK.S3.dll - ..\packages\AWSSDK.SQS.3.3.3.2\lib\net45\AWSSDK.SQS.dll + ..\packages\AWSSDK.SQS.3.3.3.42\lib\net45\AWSSDK.SQS.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AmazonSQS.4.1.2\lib\net452\NServiceBus.AmazonSQS.dll + ..\packages\NServiceBus.AmazonSQS.4.2.0\lib\net452\NServiceBus.AmazonSQS.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll @@ -75,8 +75,8 @@ - - + + diff --git a/src/Packaging.NServiceBus.AmazonSQS/packages.config b/src/Packaging.NServiceBus.AmazonSQS/packages.config index 262a99e..7cda599 100644 --- a/src/Packaging.NServiceBus.AmazonSQS/packages.config +++ b/src/Packaging.NServiceBus.AmazonSQS/packages.config @@ -1,9 +1,9 @@  - - - - + + + + - + \ No newline at end of file diff --git a/src/ServiceControl.Monitoring.AcceptanceTests/ServiceControl.Monitoring.AcceptanceTests.csproj b/src/ServiceControl.Monitoring.AcceptanceTests/ServiceControl.Monitoring.AcceptanceTests.csproj index fc06555..455c6bd 100644 --- a/src/ServiceControl.Monitoring.AcceptanceTests/ServiceControl.Monitoring.AcceptanceTests.csproj +++ b/src/ServiceControl.Monitoring.AcceptanceTests/ServiceControl.Monitoring.AcceptanceTests.csproj @@ -36,11 +36,11 @@ 4 - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll @@ -52,7 +52,7 @@ ..\packages\NServiceBus.Metrics.ServiceControl.3.0.2\lib\net452\NServiceBus.Metrics.ServiceControl.dll - ..\packages\NServiceBus.Newtonsoft.Json.2.1.0\lib\net452\NServiceBus.Newtonsoft.Json.dll + ..\packages\NServiceBus.Newtonsoft.Json.2.2.0\lib\net452\NServiceBus.Newtonsoft.Json.dll ..\packages\NUnit.3.10.1\lib\net45\nunit.framework.dll diff --git a/src/ServiceControl.Monitoring.AcceptanceTests/packages.config b/src/ServiceControl.Monitoring.AcceptanceTests/packages.config index 110aa78..d8ed0ff 100644 --- a/src/ServiceControl.Monitoring.AcceptanceTests/packages.config +++ b/src/ServiceControl.Monitoring.AcceptanceTests/packages.config @@ -1,10 +1,10 @@  - + - + - + \ No newline at end of file diff --git a/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/ServiceControl.Monitoring.SmokeTests.AmazonSQS.csproj b/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/ServiceControl.Monitoring.SmokeTests.AmazonSQS.csproj index 1f3198b..529f393 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/ServiceControl.Monitoring.SmokeTests.AmazonSQS.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/ServiceControl.Monitoring.SmokeTests.AmazonSQS.csproj @@ -36,22 +36,22 @@ - ..\packages\AWSSDK.Core.3.3.21.6\lib\net45\AWSSDK.Core.dll + ..\packages\AWSSDK.Core.3.3.29.16\lib\net45\AWSSDK.Core.dll - ..\packages\AWSSDK.S3.3.3.16.2\lib\net45\AWSSDK.S3.dll + ..\packages\AWSSDK.S3.3.3.31.3\lib\net45\AWSSDK.S3.dll - ..\packages\AWSSDK.SQS.3.3.3.2\lib\net45\AWSSDK.SQS.dll + ..\packages\AWSSDK.SQS.3.3.3.42\lib\net45\AWSSDK.SQS.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll - ..\packages\NServiceBus.AmazonSQS.4.1.2\lib\net452\NServiceBus.AmazonSQS.dll + ..\packages\NServiceBus.AmazonSQS.4.2.0\lib\net452\NServiceBus.AmazonSQS.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll @@ -63,7 +63,7 @@ ..\packages\NServiceBus.Metrics.ServiceControl.3.0.2\lib\net452\NServiceBus.Metrics.ServiceControl.dll - ..\packages\NServiceBus.Newtonsoft.Json.2.1.0\lib\net452\NServiceBus.Newtonsoft.Json.dll + ..\packages\NServiceBus.Newtonsoft.Json.2.2.0\lib\net452\NServiceBus.Newtonsoft.Json.dll ..\packages\NUnit.3.10.1\lib\net45\nunit.framework.dll @@ -103,8 +103,8 @@ - - + + diff --git a/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/packages.config b/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/packages.config index a4f445a..b0a65da 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.AmazonSQS/packages.config @@ -1,14 +1,14 @@  - - - - + + + + - - + + - + \ No newline at end of file diff --git a/src/ServiceControl.Monitoring.SmokeTests.AzureServiceBus/ServiceControl.Monitoring.SmokeTests.AzureServiceBus.csproj b/src/ServiceControl.Monitoring.SmokeTests.AzureServiceBus/ServiceControl.Monitoring.SmokeTests.AzureServiceBus.csproj index 167955d..ce60102 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.AzureServiceBus/ServiceControl.Monitoring.SmokeTests.AzureServiceBus.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.AzureServiceBus/ServiceControl.Monitoring.SmokeTests.AzureServiceBus.csproj @@ -51,16 +51,16 @@ - 7.1.4 + 7.1.6 3.0.2 - 1.0.0-alpha0174 + 1.0.0 - 11.0.2 + 12.0.1 diff --git a/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues.csproj b/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues.csproj index 2e505db..d1a1e78 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues.csproj @@ -47,17 +47,17 @@ ..\packages\Microsoft.Data.Services.Client.5.8.4\lib\net40\Microsoft.Data.Services.Client.dll - - ..\packages\WindowsAzure.Storage.8.2.1\lib\net45\Microsoft.WindowsAzure.Storage.dll + + ..\packages\WindowsAzure.Storage.9.3.3\lib\net45\Microsoft.WindowsAzure.Storage.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll - ..\packages\NServiceBus.Azure.Transports.WindowsAzureStorageQueues.8.0.1\lib\net452\NServiceBus.Azure.Transports.WindowsAzureStorageQueues.dll + ..\packages\NServiceBus.Azure.Transports.WindowsAzureStorageQueues.8.1.0\lib\net452\NServiceBus.Azure.Transports.WindowsAzureStorageQueues.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll @@ -69,7 +69,7 @@ ..\packages\NServiceBus.Metrics.ServiceControl.3.0.2\lib\net452\NServiceBus.Metrics.ServiceControl.dll - ..\packages\NServiceBus.Newtonsoft.Json.2.1.0\lib\net452\NServiceBus.Newtonsoft.Json.dll + ..\packages\NServiceBus.Newtonsoft.Json.2.2.0\lib\net452\NServiceBus.Newtonsoft.Json.dll ..\packages\NUnit.3.10.1\lib\net45\nunit.framework.dll diff --git a/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/packages.config b/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/packages.config index 8ed8ebe..2641866 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.AzureStorageQueues/packages.config @@ -4,18 +4,18 @@ - + - - + + - + - + \ No newline at end of file diff --git a/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/ServiceControl.Monitoring.SmokeTests.LearningTransport.csproj b/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/ServiceControl.Monitoring.SmokeTests.LearningTransport.csproj index 3c4e324..b5076ac 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/ServiceControl.Monitoring.SmokeTests.LearningTransport.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/ServiceControl.Monitoring.SmokeTests.LearningTransport.csproj @@ -35,11 +35,11 @@ 4 - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll diff --git a/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/packages.config b/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/packages.config index 9ba27ad..15fb60e 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.LearningTransport/packages.config @@ -1,8 +1,8 @@  - + - + diff --git a/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus.csproj b/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus.csproj index aeff00e..07e498f 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus.csproj @@ -45,16 +45,16 @@ ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.19.8\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll - ..\packages\WindowsAzure.ServiceBus.4.1.11\lib\net45\Microsoft.ServiceBus.dll + ..\packages\WindowsAzure.ServiceBus.5.0.2\lib\net46\Microsoft.ServiceBus.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll - - ..\packages\NServiceBus.Azure.Transports.WindowsAzureServiceBus.8.0.6\lib\net452\NServiceBus.Azure.Transports.WindowsAzureServiceBus.dll + + ..\packages\NServiceBus.Azure.Transports.WindowsAzureServiceBus.9.1.0\lib\net46\NServiceBus.Azure.Transports.WindowsAzureServiceBus.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll @@ -66,7 +66,7 @@ ..\packages\NServiceBus.Metrics.ServiceControl.3.0.2\lib\net452\NServiceBus.Metrics.ServiceControl.dll - ..\packages\NServiceBus.Newtonsoft.Json.2.1.0\lib\net452\NServiceBus.Newtonsoft.Json.dll + ..\packages\NServiceBus.Newtonsoft.Json.2.2.0\lib\net452\NServiceBus.Newtonsoft.Json.dll ..\packages\NUnit.3.10.1\lib\net45\nunit.framework.dll diff --git a/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/packages.config b/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/packages.config index 1de09c4..c3fd23a 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.LegacyAzureServiceBus/packages.config @@ -2,14 +2,14 @@ - + - - + + - + - + \ No newline at end of file diff --git a/src/ServiceControl.Monitoring.SmokeTests.MSMQ/ServiceControl.Monitoring.SmokeTests.MSMQ.csproj b/src/ServiceControl.Monitoring.SmokeTests.MSMQ/ServiceControl.Monitoring.SmokeTests.MSMQ.csproj index 1c41d4e..1af027a 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.MSMQ/ServiceControl.Monitoring.SmokeTests.MSMQ.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.MSMQ/ServiceControl.Monitoring.SmokeTests.MSMQ.csproj @@ -36,11 +36,11 @@ 4 - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll diff --git a/src/ServiceControl.Monitoring.SmokeTests.MSMQ/packages.config b/src/ServiceControl.Monitoring.SmokeTests.MSMQ/packages.config index 9e8cbe3..cc73f59 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.MSMQ/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.MSMQ/packages.config @@ -1,8 +1,8 @@  - + - + diff --git a/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/ServiceControl.Monitoring.SmokeTests.RabbitMQ.csproj b/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/ServiceControl.Monitoring.SmokeTests.RabbitMQ.csproj index 3379446..764a635 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/ServiceControl.Monitoring.SmokeTests.RabbitMQ.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/ServiceControl.Monitoring.SmokeTests.RabbitMQ.csproj @@ -47,11 +47,11 @@ ..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.28\lib\net46\Microsoft.Diagnostics.Tracing.EventSource.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll @@ -63,7 +63,7 @@ ..\packages\NServiceBus.Metrics.ServiceControl.3.0.2\lib\net452\NServiceBus.Metrics.ServiceControl.dll - ..\packages\NServiceBus.Newtonsoft.Json.2.1.0\lib\net452\NServiceBus.Newtonsoft.Json.dll + ..\packages\NServiceBus.Newtonsoft.Json.2.2.0\lib\net452\NServiceBus.Newtonsoft.Json.dll ..\packages\NServiceBus.RabbitMQ.5.0.1\lib\net452\NServiceBus.Transport.RabbitMQ.dll diff --git a/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/packages.config b/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/packages.config index 8f7e55e..79edce6 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.RabbitMQ/packages.config @@ -4,12 +4,12 @@ - + - + - + diff --git a/src/ServiceControl.Monitoring.SmokeTests.SQLServer/ServiceControl.Monitoring.SmokeTests.SQLServer.csproj b/src/ServiceControl.Monitoring.SmokeTests.SQLServer/ServiceControl.Monitoring.SmokeTests.SQLServer.csproj index ffa84ca..2bd75f8 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.SQLServer/ServiceControl.Monitoring.SmokeTests.SQLServer.csproj +++ b/src/ServiceControl.Monitoring.SmokeTests.SQLServer/ServiceControl.Monitoring.SmokeTests.SQLServer.csproj @@ -35,11 +35,11 @@ 4 - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - ..\packages\NServiceBus.AcceptanceTesting.7.1.4\lib\net452\NServiceBus.AcceptanceTesting.dll + ..\packages\NServiceBus.AcceptanceTesting.7.1.6\lib\net452\NServiceBus.AcceptanceTesting.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll diff --git a/src/ServiceControl.Monitoring.SmokeTests.SQLServer/packages.config b/src/ServiceControl.Monitoring.SmokeTests.SQLServer/packages.config index 5ac5449..6d7da90 100644 --- a/src/ServiceControl.Monitoring.SmokeTests.SQLServer/packages.config +++ b/src/ServiceControl.Monitoring.SmokeTests.SQLServer/packages.config @@ -1,8 +1,8 @@  - + - + diff --git a/src/ServiceControl.Monitoring.Tests/ServiceControl.Monitoring.Tests.csproj b/src/ServiceControl.Monitoring.Tests/ServiceControl.Monitoring.Tests.csproj index 1cc6e49..89f1956 100644 --- a/src/ServiceControl.Monitoring.Tests/ServiceControl.Monitoring.Tests.csproj +++ b/src/ServiceControl.Monitoring.Tests/ServiceControl.Monitoring.Tests.csproj @@ -51,8 +51,8 @@ ..\packages\Nancy.1.4.4\lib\net40\Nancy.dll - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll diff --git a/src/ServiceControl.Monitoring.Tests/packages.config b/src/ServiceControl.Monitoring.Tests/packages.config index 8173ede..02d4011 100644 --- a/src/ServiceControl.Monitoring.Tests/packages.config +++ b/src/ServiceControl.Monitoring.Tests/packages.config @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/src/ServiceControl.Monitoring/ServiceControl.Monitoring.csproj b/src/ServiceControl.Monitoring/ServiceControl.Monitoring.csproj index 925d723..45a1cb7 100644 --- a/src/ServiceControl.Monitoring/ServiceControl.Monitoring.csproj +++ b/src/ServiceControl.Monitoring/ServiceControl.Monitoring.csproj @@ -76,8 +76,8 @@ ..\packages\Nancy.Hosting.Self.1.4.1\lib\net40\Nancy.Hosting.Self.dll True - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\NLog.4.5.10\lib\net45\NLog.dll @@ -86,7 +86,7 @@ ..\packages\NServiceBus.7.1.6\lib\net452\NServiceBus.Core.dll - ..\packages\NServiceBus.Newtonsoft.Json.2.1.0\lib\net452\NServiceBus.Newtonsoft.Json.dll + ..\packages\NServiceBus.Newtonsoft.Json.2.2.0\lib\net452\NServiceBus.Newtonsoft.Json.dll ..\packages\NServiceBus.NLog.3.0.0\lib\net452\NServiceBus.NLog.dll diff --git a/src/ServiceControl.Monitoring/packages.config b/src/ServiceControl.Monitoring/packages.config index 25fa312..c5e1d9d 100644 --- a/src/ServiceControl.Monitoring/packages.config +++ b/src/ServiceControl.Monitoring/packages.config @@ -5,11 +5,11 @@ - + - + \ No newline at end of file diff --git a/src/ServiceControl.Transports.AmazonSQS/QueueAttributesRequestCache.cs b/src/ServiceControl.Transports.AmazonSQS/QueueAttributesRequestCache.cs index ba84c97..ed3d7f5 100644 --- a/src/ServiceControl.Transports.AmazonSQS/QueueAttributesRequestCache.cs +++ b/src/ServiceControl.Transports.AmazonSQS/QueueAttributesRequestCache.cs @@ -1,6 +1,7 @@ namespace ServiceControl.Transports.AmazonSQS { using System.Collections.Concurrent; + using System.Threading; using System.Threading.Tasks; using Amazon.SQS; using Amazon.SQS.Model; @@ -13,14 +14,14 @@ public QueueAttributesRequestCache(IAmazonSQS sqsClient) this.sqsClient = sqsClient; } - public async Task GetQueueAttributesRequest(string queueName) + public async Task GetQueueAttributesRequest(string queueName, CancellationToken token) { if (cache.TryGetValue(queueName, out var attReq)) { return attReq; } - var queueUrl = await GetQueueUrl(queueName).ConfigureAwait(false); + var queueUrl = await GetQueueUrl(queueName, token).ConfigureAwait(false); attReq = new GetQueueAttributesRequest {QueueUrl = queueUrl}; attReq.AttributeNames.Add("ApproximateNumberOfMessages"); @@ -30,9 +31,9 @@ public async Task GetQueueAttributesRequest(string qu return attReq; } - async Task GetQueueUrl(string queueName) + async Task GetQueueUrl(string queueName, CancellationToken token) { - var response = await sqsClient.GetQueueUrlAsync(queueName) + var response = await sqsClient.GetQueueUrlAsync(queueName, token) .ConfigureAwait(false); return response.QueueUrl; } diff --git a/src/ServiceControl.Transports.AmazonSQS/QueueLengthProvider.cs b/src/ServiceControl.Transports.AmazonSQS/QueueLengthProvider.cs index fd18fd9..c0b7c85 100644 --- a/src/ServiceControl.Transports.AmazonSQS/QueueLengthProvider.cs +++ b/src/ServiceControl.Transports.AmazonSQS/QueueLengthProvider.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; + using Amazon.Runtime; using Amazon.SQS; using Monitoring; using Monitoring.Infrastructure; @@ -23,12 +24,24 @@ public class QueueLengthProvider : IProvideQueueLength string queueNamePrefix; CancellationTokenSource stop = new CancellationTokenSource(); - Task pooler; + Task poller; + Func clientFactory = () => new AmazonSQSClient(); public void Initialize(string connectionString, QueueLengthStore store) { var builder = new DbConnectionStringBuilder { ConnectionString = connectionString }; + if (builder.ContainsKey("AccessKeyId") || builder.ContainsKey("SecretAccessKey")) + { + // if the user provided the access key and secret access key they should always be loaded from environment credentials + clientFactory = () => new AmazonSQSClient(new EnvironmentVariablesAWSCredentials()); + } + else + { + //See https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#creds-assign + Logger.Info("BasicAWSCredentials have not been supplied in the connection string. Attempting to use existing environment or IAM role credentials."); + } + if (builder.TryGetValue("QueueNamePrefix", out var prefix)) { queueNamePrefix = (string)prefix; @@ -64,21 +77,26 @@ public Task Start() { stop = new CancellationTokenSource(); - pooler = Task.Run(async () => + poller = Task.Run(async () => { - using (var client = new AmazonSQSClient()) + using (var client = clientFactory()) { var cache = new QueueAttributesRequestCache(client); + var token = stop.Token; - while (!stop.Token.IsCancellationRequested) + while (!token.IsCancellationRequested) { try { - await FetchQueueSizes(cache, client).ConfigureAwait(false); + await FetchQueueSizes(cache, client, token).ConfigureAwait(false); UpdateQueueLengthStore(); - await Task.Delay(QueryDelayInterval).ConfigureAwait(false); + await Task.Delay(QueryDelayInterval, token).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + // no-op } catch (Exception e) { @@ -95,7 +113,7 @@ public Task Stop() { stop.Cancel(); - return pooler; + return poller; } void UpdateQueueLengthStore() @@ -114,17 +132,21 @@ void UpdateQueueLengthStore() } } - Task FetchQueueSizes(QueueAttributesRequestCache cache, IAmazonSQS client) => Task.WhenAll(sizes.Select(kvp => FetchLength(kvp.Key, client, cache))); + Task FetchQueueSizes(QueueAttributesRequestCache cache, IAmazonSQS client, CancellationToken token) => Task.WhenAll(sizes.Select(kvp => FetchLength(kvp.Key, client, cache, token))); - async Task FetchLength(string queue, IAmazonSQS client, QueueAttributesRequestCache cache) + async Task FetchLength(string queue, IAmazonSQS client, QueueAttributesRequestCache cache, CancellationToken token) { try { - var attReq = await cache.GetQueueAttributesRequest(queue).ConfigureAwait(false); - var response = await client.GetQueueAttributesAsync(attReq).ConfigureAwait(false); + var attReq = await cache.GetQueueAttributesRequest(queue, token).ConfigureAwait(false); + var response = await client.GetQueueAttributesAsync(attReq, token).ConfigureAwait(false); sizes[queue] = response.ApproximateNumberOfMessages; } + catch (OperationCanceledException) + { + // no-op + } catch (Exception ex) { Logger.Error($"Obtaining an approximate number of messages failed for '{queue}'", ex); diff --git a/src/ServiceControl.Transports.AmazonSQS/ServiceControl.Transports.AmazonSQS.csproj b/src/ServiceControl.Transports.AmazonSQS/ServiceControl.Transports.AmazonSQS.csproj index 260b4b9..46c32bc 100644 --- a/src/ServiceControl.Transports.AmazonSQS/ServiceControl.Transports.AmazonSQS.csproj +++ b/src/ServiceControl.Transports.AmazonSQS/ServiceControl.Transports.AmazonSQS.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/src/ServiceControl.Transports.AmazonSQS/ServiceControlSqsTransport.cs b/src/ServiceControl.Transports.AmazonSQS/ServiceControlSqsTransport.cs index 1dcc48d..e2675d3 100644 --- a/src/ServiceControl.Transports.AmazonSQS/ServiceControlSqsTransport.cs +++ b/src/ServiceControl.Transports.AmazonSQS/ServiceControlSqsTransport.cs @@ -5,7 +5,10 @@ namespace ServiceControl.Transports.AmazonSQS using System.Linq; using System.Reflection; using Amazon; + using Amazon.Runtime; + using Amazon.SQS; using NServiceBus; + using NServiceBus.Logging; using NServiceBus.Settings; using NServiceBus.Transport; @@ -15,8 +18,21 @@ public override TransportInfrastructure Initialize(SettingsHolder settings, stri { var builder = new DbConnectionStringBuilder { ConnectionString = connectionString }; - PromoteEnvironmentVariableFromConnectionString(builder, "AccessKeyId", "AWS_ACCESS_KEY_ID"); - PromoteEnvironmentVariableFromConnectionString(builder, "SecretAccessKey", "AWS_SECRET_ACCESS_KEY"); + if (builder.ContainsKey("AccessKeyId") || builder.ContainsKey("SecretAccessKey")) + { + PromoteEnvironmentVariableFromConnectionString(builder, "AccessKeyId", "AWS_ACCESS_KEY_ID"); + PromoteEnvironmentVariableFromConnectionString(builder, "SecretAccessKey", "AWS_SECRET_ACCESS_KEY"); + + // if the user provided the access key and secret access key they should always be loaded from environment credentials + var transport = new TransportExtensions(settings); + transport.ClientFactory(() => new AmazonSQSClient(new EnvironmentVariablesAWSCredentials())); + } + else + { + //See https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#creds-assign + log.Info("BasicAWSCredentials have not been supplied in the connection string. Attempting to use existing environment or IAM role credentials."); + } + var region = PromoteEnvironmentVariableFromConnectionString(builder, "Region", "AWS_REGION"); var awsRegion = RegionEndpoint.EnumerableAllRegions @@ -62,5 +78,7 @@ static string PromoteEnvironmentVariableFromConnectionString(DbConnectionStringB throw new ArgumentException($"Missing value for '{connectionStringKey}'", connectionStringKey); } + + static ILog log = LogManager.GetLogger(); } } \ No newline at end of file diff --git a/src/ServiceControl.Transports.AzureServiceBus/QueueLengthProvider.cs b/src/ServiceControl.Transports.AzureServiceBus/QueueLengthProvider.cs index 74969c2..82bd1ca 100644 --- a/src/ServiceControl.Transports.AzureServiceBus/QueueLengthProvider.cs +++ b/src/ServiceControl.Transports.AzureServiceBus/QueueLengthProvider.cs @@ -21,7 +21,7 @@ public class QueueLengthProvider : IProvideQueueLength ManagementClient managementClient; CancellationTokenSource stop = new CancellationTokenSource(); - Task pooler; + Task poller; public void Initialize(string connectionString, QueueLengthStore store) { @@ -46,23 +46,29 @@ public Task Start() { stop = new CancellationTokenSource(); - pooler = Task.Run(async () => + poller = Task.Run(async () => { - while (!stop.Token.IsCancellationRequested) + var token = stop.Token; + + while (!token.IsCancellationRequested) { try { Logger.Debug("Waiting for next interval"); - await Task.Delay(QueryDelayInterval).ConfigureAwait(false); + await Task.Delay(QueryDelayInterval, token).ConfigureAwait(false); Logger.DebugFormat("Querying management client."); - var queues = await managementClient.GetQueuesAsync().ConfigureAwait(false); + var queues = await managementClient.GetQueuesAsync(cancellationToken: token).ConfigureAwait(false); var lookup = queues.ToLookup(x => x.Path, StringComparer.InvariantCultureIgnoreCase); Logger.DebugFormat("Retrieved details of {0} queues", lookup.Count); - await UpdateQueueLengthStore(lookup); + await UpdateQueueLengthStore(lookup, token); + } + catch (OperationCanceledException) + { + // no-op } catch (Exception e) { @@ -74,7 +80,7 @@ public Task Start() return TaskEx.Completed; } - private async Task UpdateQueueLengthStore(ILookup queueData) + async Task UpdateQueueLengthStore(ILookup queueData, CancellationToken token) { var timestamp = DateTime.UtcNow.Ticks; foreach (var mapping in endpointQueueMappings) @@ -87,7 +93,7 @@ private async Task UpdateQueueLengthStore(ILookup queu new RawMessage.Entry { DateTicks = timestamp, - Value = (await managementClient.GetQueueRuntimeInfoAsync( queue.Path )).MessageCountDetails.ActiveMessageCount + Value = (await managementClient.GetQueueRuntimeInfoAsync(queue.Path, token).ConfigureAwait(false)).MessageCountDetails.ActiveMessageCount } }; queueLengthStore.Store(entries, new EndpointInputQueue(mapping.Key.EndpointName, queue.Path)); @@ -102,8 +108,8 @@ private async Task UpdateQueueLengthStore(ILookup queu public async Task Stop() { stop.Cancel(); - await managementClient.CloseAsync(); - await pooler; + await poller.ConfigureAwait(false); + await managementClient.CloseAsync().ConfigureAwait(false); } static TimeSpan QueryDelayInterval = TimeSpan.FromMilliseconds(200); diff --git a/src/ServiceControl.Transports.AzureServiceBus/ServiceControl.Transports.AzureServiceBus.csproj b/src/ServiceControl.Transports.AzureServiceBus/ServiceControl.Transports.AzureServiceBus.csproj index b24e5b0..e2938d2 100644 --- a/src/ServiceControl.Transports.AzureServiceBus/ServiceControl.Transports.AzureServiceBus.csproj +++ b/src/ServiceControl.Transports.AzureServiceBus/ServiceControl.Transports.AzureServiceBus.csproj @@ -9,7 +9,7 @@ - + \ No newline at end of file diff --git a/src/ServiceControl.Transports.AzureStorageQueues/QueueLengthProvider.cs b/src/ServiceControl.Transports.AzureStorageQueues/QueueLengthProvider.cs index 09a4103..d11adf7 100644 --- a/src/ServiceControl.Transports.AzureStorageQueues/QueueLengthProvider.cs +++ b/src/ServiceControl.Transports.AzureStorageQueues/QueueLengthProvider.cs @@ -24,7 +24,7 @@ public class QueueLengthProvider : IProvideQueueLength QueueLengthStore store; CancellationTokenSource stop = new CancellationTokenSource(); - Task pooler; + Task poller; public void Initialize(string connectionString, QueueLengthStore store) { @@ -62,17 +62,22 @@ public Task Start() { stop = new CancellationTokenSource(); - pooler = Task.Run(async () => + poller = Task.Run(async () => { - while (!stop.Token.IsCancellationRequested) + var token = stop.Token; + while (!token.IsCancellationRequested) { try { - await FetchQueueSizes().ConfigureAwait(false); + await FetchQueueSizes(token).ConfigureAwait(false); UpdateQueueLengthStore(); - await Task.Delay(QueryDelayInterval); + await Task.Delay(QueryDelayInterval, token).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + // no-op } catch (Exception e) { @@ -88,7 +93,7 @@ public Task Stop() { stop.Cancel(); - return pooler; + return poller; } void UpdateQueueLengthStore() @@ -107,17 +112,21 @@ void UpdateQueueLengthStore() } } - Task FetchQueueSizes() => Task.WhenAll(sizes.Select(kvp => FetchLength(kvp.Key))); + Task FetchQueueSizes(CancellationToken token) => Task.WhenAll(sizes.Select(kvp => FetchLength(kvp.Key, token))); - async Task FetchLength(CloudQueue queue) + async Task FetchLength(CloudQueue queue, CancellationToken token) { try { - await queue.FetchAttributesAsync(stop.Token).ConfigureAwait(false); + await queue.FetchAttributesAsync(token).ConfigureAwait(false); sizes[queue] = queue.ApproximateMessageCount.GetValueOrDefault(); problematicQueues.TryRemove(queue, out _); } + catch (OperationCanceledException) + { + // no-op + } catch (Exception ex) { // simple "log once" approach to do not flood logs diff --git a/src/ServiceControl.Transports.AzureStorageQueues/ServiceControl.Transports.AzureStorageQueues.csproj b/src/ServiceControl.Transports.AzureStorageQueues/ServiceControl.Transports.AzureStorageQueues.csproj index f9a51a9..69b20ad 100644 --- a/src/ServiceControl.Transports.AzureStorageQueues/ServiceControl.Transports.AzureStorageQueues.csproj +++ b/src/ServiceControl.Transports.AzureStorageQueues/ServiceControl.Transports.AzureStorageQueues.csproj @@ -49,7 +49,7 @@ - 8.0.1 + 8.1.0 diff --git a/src/ServiceControl.Transports.LegacyAzureServiceBus/EndpointOrientedTopologyAzureServiceBusTransport.cs b/src/ServiceControl.Transports.LegacyAzureServiceBus/EndpointOrientedTopologyAzureServiceBusTransport.cs index 59dcd72..6649fe3 100644 --- a/src/ServiceControl.Transports.LegacyAzureServiceBus/EndpointOrientedTopologyAzureServiceBusTransport.cs +++ b/src/ServiceControl.Transports.LegacyAzureServiceBus/EndpointOrientedTopologyAzureServiceBusTransport.cs @@ -9,7 +9,8 @@ public class EndpointOrientedTopologyAzureServiceBusTransport : AzureServiceBusT public override TransportInfrastructure Initialize(SettingsHolder settings, string connectionString) { var extensions = new TransportExtensions(settings); - extensions.UseEndpointOrientedTopology(); + var topology = extensions.UseEndpointOrientedTopology(); + topology.EnableMigrationToForwardingTopology(); return base.Initialize(settings, connectionString); } diff --git a/src/ServiceControl.Transports.LegacyAzureServiceBus/QueueLengthProvider.cs b/src/ServiceControl.Transports.LegacyAzureServiceBus/QueueLengthProvider.cs index b630a8e..512a69d 100644 --- a/src/ServiceControl.Transports.LegacyAzureServiceBus/QueueLengthProvider.cs +++ b/src/ServiceControl.Transports.LegacyAzureServiceBus/QueueLengthProvider.cs @@ -22,7 +22,7 @@ public class QueueLengthProvider : IProvideQueueLength NamespaceManager namespaceManager; CancellationTokenSource stop = new CancellationTokenSource(); - Task pooler; + Task poller; public void Initialize(string connectionString, QueueLengthStore store) { @@ -47,10 +47,10 @@ public Task Start() { stop = new CancellationTokenSource(); - pooler = Task.Run(async () => + poller = Task.Run(async () => { - - while (!stop.Token.IsCancellationRequested) + var token = stop.Token; + while (!token.IsCancellationRequested) { try { @@ -64,7 +64,11 @@ public Task Start() UpdateQueueLengthStore(lookup); Logger.Debug("Waiting for next interval"); - await Task.Delay(QueryDelayInterval).ConfigureAwait(false); + await Task.Delay(QueryDelayInterval, token).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + // no-op } catch (Exception e) { @@ -105,7 +109,7 @@ public Task Stop() { stop.Cancel(); - return pooler; + return poller; } static TimeSpan QueryDelayInterval = TimeSpan.FromMilliseconds(200); diff --git a/src/ServiceControl.Transports.LegacyAzureServiceBus/ServiceControl.Transports.LegacyAzureServiceBus.csproj b/src/ServiceControl.Transports.LegacyAzureServiceBus/ServiceControl.Transports.LegacyAzureServiceBus.csproj index d59ea8b..011184c 100644 --- a/src/ServiceControl.Transports.LegacyAzureServiceBus/ServiceControl.Transports.LegacyAzureServiceBus.csproj +++ b/src/ServiceControl.Transports.LegacyAzureServiceBus/ServiceControl.Transports.LegacyAzureServiceBus.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/ServiceControl.Transports.RabbitMQ/QueueLengthProvider.cs b/src/ServiceControl.Transports.RabbitMQ/QueueLengthProvider.cs index 18b43d7..b6eec8c 100644 --- a/src/ServiceControl.Transports.RabbitMQ/QueueLengthProvider.cs +++ b/src/ServiceControl.Transports.RabbitMQ/QueueLengthProvider.cs @@ -43,17 +43,22 @@ public Task Start() { queryExecutor.Initialize(); - queryLoop = Task.Run(async () => + poller = Task.Run(async () => { - while (!stoppedTokenSource.Token.IsCancellationRequested) + var token = stoppedTokenSource.Token; + while (!token.IsCancellationRequested) { try { - await FetchQueueLengths(); + await FetchQueueLengths(token); UpdateQueueLengths(); - await Task.Delay(QueryDelayInterval).ConfigureAwait(false); + await Task.Delay(QueryDelayInterval, token).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + // no-op } catch (Exception e) { @@ -69,7 +74,7 @@ public async Task Stop() { stoppedTokenSource.Cancel(); - await queryLoop; + await poller; queryExecutor.Dispose(); } @@ -96,7 +101,7 @@ void UpdateQueueLengths() } } - async Task FetchQueueLengths() + async Task FetchQueueLengths(CancellationToken token) { foreach (var endpointQueuePair in endpointQueues) { @@ -114,7 +119,7 @@ await queryExecutor.Execute(m => { Logger.Warn($"Error querying queue length for {queueName}", e); } - }); + }, token); } } @@ -137,7 +142,7 @@ public void Initialize() connectionFactory = new ConnectionFactory(connectionConfiguration, null, false, false); } - public async Task Execute(Action action) + public async Task Execute(Action action, CancellationToken token) { try { @@ -149,7 +154,7 @@ public async Task Execute(Action action) //Connection implements reconnection logic while (connection.IsOpen == false) { - await Task.Delay(ReconnectionDelay); + await Task.Delay(ReconnectionDelay, token); } if (model == null || model.IsClosed) @@ -161,6 +166,10 @@ public async Task Execute(Action action) action(model); } + catch (OperationCanceledException) + { + // no-op + } catch (Exception e) { Logger.Warn("Error querying queue length.", e); @@ -179,7 +188,7 @@ public void Dispose() ConcurrentDictionary sizes = new ConcurrentDictionary(); CancellationTokenSource stoppedTokenSource = new CancellationTokenSource(); - Task queryLoop; + Task poller; QueueLengthStore store; QueryExecutor queryExecutor; diff --git a/src/ServiceControl.Transports.SQLServer/QueueLengthProvider.cs b/src/ServiceControl.Transports.SQLServer/QueueLengthProvider.cs index bce6134..7864f7f 100644 --- a/src/ServiceControl.Transports.SQLServer/QueueLengthProvider.cs +++ b/src/ServiceControl.Transports.SQLServer/QueueLengthProvider.cs @@ -66,16 +66,22 @@ public Task Start() poller = Task.Run(async () => { - while (!stop.Token.IsCancellationRequested) + var token = stop.Token; + + while (!token.IsCancellationRequested) { try { - await Task.Delay(QueryDelayInterval); + await Task.Delay(QueryDelayInterval, token).ConfigureAwait(false); - await QueryTableSizes(); + await QueryTableSizes(token).ConfigureAwait(false); UpdateQueueLengthStore(); } + catch (OperationCanceledException) + { + // no-op + } catch (Exception e) { Logger.Error("Error querying sql queue sizes.", e); @@ -109,7 +115,7 @@ void UpdateQueueLengthStore() } } - async Task QueryTableSizes() + async Task QueryTableSizes(CancellationToken token) { var chunks = tableSizes .Select((i, index) => new @@ -121,13 +127,13 @@ async Task QueryTableSizes() .Select(grp => grp.Select(g => g.i).ToArray()) .ToList(); - foreach (var chunk in chunks) + using (var connection = new SqlConnection(connectionString)) { - using (var connection = new SqlConnection(connectionString)) - { - await connection.OpenAsync(); + await connection.OpenAsync(token).ConfigureAwait(false); - await UpdateChunk(connection, chunk, stop.Token); + foreach (var chunk in chunks) + { + await UpdateChunk(connection, chunk, token).ConfigureAwait(false); } } } @@ -138,11 +144,11 @@ async Task UpdateChunk(SqlConnection connection, KeyValuePair[] c using (var command = new SqlCommand(query, connection)) { - var reader = await command.ExecuteReaderAsync(token); + var reader = await command.ExecuteReaderAsync(token).ConfigureAwait(false); foreach (var chunkPair in chunk) { - await reader.ReadAsync(token); + await reader.ReadAsync(token).ConfigureAwait(false); var queueLength = reader.GetInt32(0); @@ -155,7 +161,7 @@ async Task UpdateChunk(SqlConnection connection, KeyValuePair[] c tableSizes.TryUpdate(chunkPair.Key, queueLength, chunkPair.Value); } - await reader.NextResultAsync(token); + await reader.NextResultAsync(token).ConfigureAwait(false); } } }