rebus-org / Rebus.SimpleInjector

:bus: SimpleInjector container adapter for Rebus
https://mookid.dk/category/rebus
Other
5 stars 6 forks source link

Promote Pre-Release #6

Closed Confusingboat closed 4 years ago

Confusingboat commented 4 years ago

Any reason for not promoting the v5.x builds to release? Currently the -pre flag is required to install the latest nuget package.

mookid8000 commented 4 years ago

Only reason is that I'm not using it myself, and I haven't heard from anyone using it.

Are you using it? Does it work?

Because then I'll release one with a proper version number 😁

Confusingboat commented 4 years ago

I'm actually trying to use it now and can't get it to work, but I'm not sure if that's because I haven't set it up right or because something is broken. Documentation is a little on the slim side, but I think I've done it properly. I'm getting the following on incoming message:

Rebus.Exceptions.MessageCouldNotBeDispatchedToAnyHandlersException: Message with ID 83f8d7c2-3436-4bfd-bc01-08245849a0c0 and type MyLib.NoOpMessage, MyLib could not be dispatched to any handlers (and will not be retried under the default fail-fast settings)
   at Rebus.Pipeline.Receive.DispatchIncomingMessageStep.Process(IncomingStepContext context, Func`1 next)
   at Rebus.Sagas.LoadSagaDataStep.Process(IncomingStepContext context, Func`1 next)
   at Rebus.Pipeline.Receive.ActivateHandlersStep.Process(IncomingStepContext context, Func`1 next)
   at Rebus.Pipeline.Receive.HandleRoutingSlipsStep.Process(IncomingStepContext context, Func`1 next)
   at Rebus.Pipeline.Receive.DeserializeIncomingMessageStep.Process(IncomingStepContext context, Func`1 next)
   at Rebus.Retry.FailFast.FailFastStep.Process(IncomingStepContext context, Func`1 next)
   at Rebus.Retry.Simple.SimpleRetryStrategyStep.DispatchWithTrackerIdentifier(Func`1 next, String identifierToTrackMessageBy, ITransactionContext transactionContext, String messageId, String secondLevelMessageId)

This would indicate it's unable to resolve my IHandleMessages<NoOpMessage> service for some reason.

I may look into this further and open a separate issue if I can't get it figured out. If there's something wrong and I get it fixed I'll submit a PR.

Update: I got it working; I didn't realize it was a hard requirement to register even single handlers as a collection. Can confirm this works with the latest version of Simple Injector 🎉, but I would update the readme with the registration line outlined here and emphasize the collection registration requirement.

I may submit a PR anyhow with some extension methods for some handler registration candy 😁

mookid8000 commented 4 years ago

Can confirm this works with the latest version of Simple Injector 🎉

🎉 😁

(...) but I would update the readme with the registration line outlined here and emphasize the collection registration requirement.

I'll put an example in the readme.

I may submit a PR anyhow with some extension methods for some handler registration candy 😁

That would be absolutely awesome. For now, I'll release Rebus.SimpleInjector 5.0.0 to NuGet.org