-
Notifications
You must be signed in to change notification settings - Fork 31
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
Feature/275 masstransit rabbitmq client integration #278
base: main
Are you sure you want to change the base?
Feature/275 masstransit rabbitmq client integration #278
Conversation
@dotnet-policy-service agree |
src/CommunityToolkit.Aspire.Client.MassTransit.RabbitMQ/MassTransitClientExtensions.cs
Outdated
Show resolved
Hide resolved
src/CommunityToolkit.Aspire.Client.MassTransit.RabbitMQ/MassTransitClientExtensions.cs
Outdated
Show resolved
Hide resolved
Hi @MichielBrys , I noticed the Maybe it could be named Also, maybe the settings class could have a more specific name as well like |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments and suggestions to bring it inline with more of the design of the Toolkit projects.
Also, you'll need to ensure that the NuGet packages are added to the Directory.Packages.props
with their correct versions since we use CPM to ensure everything is consistently versioned.
...it.RabbitMQ.ApiService/CommunityToolkit.Aspire.Client.MassTransit.RabbitMQ.ApiService.csproj
Outdated
Show resolved
Hide resolved
...Transit.RabbitMQ.AppHost/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.AppHost.csproj
Outdated
Show resolved
Hide resolved
...Transit.RabbitMQ.AppHost/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.AppHost.csproj
Outdated
Show resolved
Hide resolved
...CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ/MassTransitRabbitMQHostingExtensions.cs
Outdated
Show resolved
Hide resolved
...CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ/MassTransitRabbitMQHostingExtensions.cs
Outdated
Show resolved
Hide resolved
src/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ/README.md
Outdated
Show resolved
Hide resolved
...ire.Hosting.MassTransit.RabbitMQ/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.csproj
Outdated
Show resolved
Hide resolved
...ire.Hosting.MassTransit.RabbitMQ/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.csproj
Outdated
Show resolved
Hide resolved
…AppHost/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.AppHost.csproj Co-authored-by: Aaron Powell <[email protected]>
…AppHost/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.AppHost.csproj Co-authored-by: Aaron Powell <[email protected]>
…AppHost/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.AppHost.csproj Co-authored-by: Aaron Powell <[email protected]>
…nityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…nityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…AppHost/Program.cs Co-authored-by: Aaron Powell <[email protected]>
…ityToolkit.Aspire.Client.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…ityToolkit.Aspire.Client.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…ityToolkit.Aspire.Client.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…ityToolkit.Aspire.Client.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…ansitClientExtensions.cs Co-authored-by: Aaron Powell <[email protected]>
…ansitClientExtensions.cs Co-authored-by: Aaron Powell <[email protected]>
…nityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…ransitRabbitMQHostingExtensions.cs Co-authored-by: Aaron Powell <[email protected]>
…ransitRabbitMQHostingExtensions.cs Co-authored-by: Aaron Powell <[email protected]>
...CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ/MassTransitRabbitMQHostingExtensions.cs
Outdated
Show resolved
Hide resolved
Can you explain what this solution adds on the ease of use as compared to https://github.com/anoordover/MassTransitJobConsumer? |
src/CommunityToolkit.Aspire.Client.MassTransit.RabbitMQ/MassTransitRabbitMqExtensions.cs
Outdated
Show resolved
Hide resolved
Thanks for the reviews, I read them and indeed realised the hosting package isn't doing anything extra so I got rid of it. Currently only have the client which uses the connection string from the .AddRabbitMQ(). I'm thinking it would be pretty usefull to have in the community toolkit and I'd like to expand it to support all the implementations that work with masstransit so people have a nice wrapper to use with aspire to easily set up masstransit I also fixed the nuget versioning to use the Directory.Packages.props file. |
…' into feature/275-masstransit-rabbitmq
examples/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.AppHost/appsettings.json
Outdated
Show resolved
Hide resolved
....ServiceDefaults/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.ServiceDefaults.csproj
Outdated
Show resolved
Hide resolved
...unityToolkit.Aspire.MassTransit.RabbitMQ/CommunityToolkit.Aspire.MassTransit.RabbitMQ.csproj
Outdated
Show resolved
Hide resolved
src/CommunityToolkit.Aspire.MassTransit.RabbitMQ/MassTransitRabbitMqOptions.cs
Outdated
Show resolved
Hide resolved
src/CommunityToolkit.Aspire.MassTransit.RabbitMQ/PublicAPI.Shipped.txt
Outdated
Show resolved
Hide resolved
Given that it doesn't provide any functionality over the standard RabbitMQ integration, I don't see that there's a need for the hosting integration. The client integration should be able to use the connection string provided by the standard RabbitMQ integration just fine. |
…pped.txt Co-authored-by: Aaron Powell <[email protected]>
…AppHost/appsettings.json Co-authored-by: Aaron Powell <[email protected]>
…ServiceDefaults/CommunityToolkit.Aspire.Hosting.MassTransit.RabbitMQ.ServiceDefaults.csproj Co-authored-by: Aaron Powell <[email protected]>
…kit.Aspire.MassTransit.RabbitMQ.csproj Co-authored-by: Aaron Powell <[email protected]>
…bbitMqOptions.cs Co-authored-by: Aaron Powell <[email protected]>
Agreed its the client package I meant that could be nice to have in the toolkit, the hosting one I already removed yesterday. |
Also, can the examples be moved into a sub-folder of |
Could someone merge the pr? I don't have write access I think. Thanks :) |
Yeah. CodeQL didn't run for some reason so I'll have to override that to merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just noticed that there's no tests.
Can you add some tests for the integration. Since this is a client integration, check out https://github.com/CommunityToolkit/Aspire/tree/main/tests/CommunityToolkit.Aspire.Meilisearch.Tests as an example for how to write client integration tests.
**Closes #275 **
Host & client projects for masstransit rabbitmq. And example project. Readme's are in the src projects.
PR Checklist
Other information