Commit Graph

138 Commits

Author SHA1 Message Date
Mark van Renswoude 67fe5f21eb Fixed JetBrains annotations? 2023-04-26 11:50:28 +02:00
Mark van Renswoude 4ce318b560 #43 Move binding related attributes to Tapeti Core 2023-04-14 15:47:50 +02:00
Mark van Renswoude 6b38d59468 Fixed #39: Stateless Request-Response does not filter target controller method
Added NoBinding attribute
2023-04-13 08:39:43 +02:00
Mark van Renswoude ab2cc1c1bb Reverted async changes as they caused message handlers to no longer run in parallel 2023-04-06 07:25:01 +02:00
Mark van Renswoude 0c2bbf396c Fixed RabbitMQ.Client reference to 6.5
Removed obsolete dependency on System.Configuration.ConfigurationManager
2023-03-31 08:01:26 +02:00
Mark van Renswoude 0919bfee50 Fixed #41 - RabbitMQ.Client 6.5 compatibility
Consumers are now properly async as well
2023-03-31 07:42:59 +02:00
Mark van Renswoude 5fc010a7e1 Temporary RabbitMQ.Client version fix for #41
Added test for incompatible queue arguments
2023-03-30 15:45:13 +02:00
Mark van Renswoude 3c7dc09bff Keep arguments as string instead of bytes 2023-03-30 13:58:44 +02:00
Mark van Renswoude 1b9bac41a6 Fix for JSON parse error on x-dead-letter-exchange argument 2023-03-30 13:04:43 +02:00
Mark van Renswoude b2ec59a3f3 Fix and tests for invoking static methods 2022-11-23 12:52:36 +01:00
Mark van Renswoude 97672f4321 Implemented nullable reference types support 2022-11-23 09:13:38 +01:00
Mark van Renswoude bcdb376256 Fixed queue arguments error due to wrong value types
Added test for publish overflows
Removed support for Unity Container
Changed third party package references to ranges
Fixed XML documentation
2022-11-22 13:20:47 +01:00
Mark van Renswoude 178f0a4956 Implemented unit tests for QueueArguments attribute
Added proof-of-concept test for TapetiClient using Testcontainers.NET
Updated packages
2022-11-21 16:59:09 +01:00
Mark van Renswoude 7143ad3c2f Implemented QueueArgumentsAttribute (untested) 2022-11-17 16:47:07 +01:00
Mark van Renswoude c75f893da8 Dropped support for .NET Standard 2022-11-17 15:24:27 +01:00
Mark van Renswoude d6138e2cfa Downgraded language version to 8
Hasn't seem to cause any issues in older .NET versions yet (only used new syntax features), but this will prevent using most unsupported new features for .NET Standard 2.0
2022-11-17 13:32:59 +01:00
Mark van Renswoude adde0c3c8d Reduced Invoke overhead for controller methods 2022-02-10 10:16:16 +01:00
Mark van Renswoude 3aee6f1c53 Fixed #38 Durable queues are verified more than once
Caused by non thread-safe code when applying bindings. Replaced Task.WhenAll with a simple loop, as the performance benefits are negligable and it's only at startup anyways.
Also changed binding methods to use ValueTask.
2022-02-09 12:42:05 +01:00
Mark van Renswoude 165680fd38 Added ValueTask support
- This is a breaking change for custom middleware implementations
Added validation for return type handling
- This may be breaking for incorrect implementations, but highly unlikely
2022-02-09 11:27:07 +01:00
Mark van Renswoude b816e56018 Code style cleanup 2022-02-09 09:50:25 +01:00
Mark van Renswoude b0d1ca6bc3 Added .NET Standard 2.1 as additional target framework
Upgraded examples to .NET 6
2022-02-09 08:35:57 +01:00
Mark van Renswoude 58d1908047 Added NoRequestsBehaviour to ParallelFlow.Yield 2021-12-10 11:45:09 +01:00
Mark van Renswoude bc00d476bd Implemented adding requests to parallel flow
Fixed console logger outputting incorrect message when declaring queues
2021-12-10 09:56:37 +01:00
Mark van Renswoude 56a842ea5c Implemented #37 Support injection of CancellationToken in message handlers 2021-10-29 15:47:48 +02:00
Mark van Renswoude 017c4c130f Fixed prefetchcount being applied to the incorrect channel 2021-10-26 13:29:48 +02:00
Mark van Renswoude 847e6a6d83 Fixed #35: NullReferenceException in Cancel 2021-10-08 15:51:10 +02:00
Mark van Renswoude 46e498b071 Split parts into separate repositories
Annotations, DataAnnotations.Extensions and Cmd
2021-10-07 15:38:43 +02:00
Mark van Renswoude b22c5200f4 Fixed #34 Reconnect not working when restarting RabbitMQ
- Fixed deadlock issue when connection is lost
- Fixed Ack and Cancel being attempted on wrong connection causing channel disconnects
2021-09-21 16:17:14 +02:00
Mark van Renswoude a9a38f2497 Fixed Flow response messages blocking the consumer
Caused by non-async disposable payload in MessageContext never being disposed
2021-09-16 12:26:11 +02:00
Mark van Renswoude c76bce30fa Added SourceLink reference 2021-09-16 11:41:03 +02:00
Mark van Renswoude 66a0ec116b Fixed a few code hints 2021-09-05 10:05:04 +02:00
Mark van Renswoude e83645cdc4 Changed IExceptionStrategy to async 2021-09-05 10:03:29 +02:00
Mark van Renswoude be576a2409 Implemented #31: Include message details in exception logging (optionally)
Refactored IControllerMessageContext into context payloads to get access to it in the exception handler
2021-09-02 16:16:44 +02:00
Mark van Renswoude 5a90c1e0a5 Added support for consuming incompatible durable queues without breaking 2021-09-02 13:58:01 +02:00
Mark van Renswoude e9a7e32bf5 Slightly improved logging to fix #28
Logging the body is not worth it at the moment, as the original issue regarding corrupt body contents has been fixed already
2021-07-18 13:52:49 +02:00
Mark van Renswoude f4d008d6a9 Added data to controller method exceptions, like Tapeti Flow does for yield point exceptions
Closes #25, stack traces seem fine in test scenarios
2021-07-18 13:49:01 +02:00
Mark van Renswoude ce377810c8 Separated publishing into separate channel and task queue
Hopefully fixes #23
2021-07-18 13:27:10 +02:00
Mark van Renswoude 52965b2372 Fixed #30 Test if new Tapeti async consumer runs parallel
Alternative fix for #29 Deserialization errors due to not buffering RabbitMQ Client's body
2021-07-05 10:28:49 +02:00
Mark van Renswoude 09efa161b4 Revert "Merge branch 'hotfix/2.5.1' into develop"
This reverts commit 4b2ced7956.
2021-07-05 09:01:02 +02:00
Mark van Renswoude bbfb580a97 Actually fixed #29 2021-06-25 09:35:26 +02:00
Mark van Renswoude e33201dc17 Fixed #29: Deserialization errors due to not buffering RabbitMQ Client's body
- TIL there is an AsyncDefaultBasicConsumer which eliminates the need for the Task.Run
2021-06-25 09:28:25 +02:00
Mark van Renswoude a3e3a266e2 Implemented RoutingKey attribute 2021-06-04 11:51:45 +02:00
Mark van Renswoude e25fa5aa52 Implemented IAsyncDisposable 2021-06-02 20:56:10 +02:00
Mark van Renswoude 1be1b599a0 Updated all references NuGet packages to latest stable version
Fixed ReSharper code issues
2021-05-29 21:52:07 +02:00
Mark van Renswoude 4cbb0f9649 Fixed #26: replace nuspec files by dotnet pack 2021-05-29 12:40:17 +02:00
Mark van Renswoude 0b7c84a119 Ignore OperationCanceledException as well when shutting down 2021-01-18 14:17:07 +01:00
Mark van Renswoude f4bef38a9f Ignore TaskCanceledExceptions during shutdown 2021-01-15 11:29:31 +01:00
Mark van Renswoude f1a4ab1c67 Added Stop method to ISubscriber 2021-01-15 09:57:46 +01:00
Mark van Renswoude e5882b7b7a Fixed controller middleware interfaces not inheriting from base 2020-07-02 11:43:24 +02:00
Frederik b150e30f2b Fix for #24: Queue attribute is required for Start methods 2020-06-11 16:38:32 +02:00