[WIP]Adds a new pipeline stage in order to be able to implement UoW on top of SynchronizedStorageSession.#4490
[WIP]Adds a new pipeline stage in order to be able to implement UoW on top of SynchronizedStorageSession.#4490SzymonPobiega wants to merge 1 commit into
Conversation
… of SynchronizedStorageSession.
| /// <summary> | ||
| /// Tells if the message has been handled. | ||
| /// </summary> | ||
| bool MessageHandled { get; set; } |
There was a problem hiding this comment.
Why do we need this here?
Pretty sure it was added as a hack to support the callbacks flagging a message as handled
to avoid us throwing a "message wasn't handled" exception.
I don't think we need that hack here?
| /// <summary> | ||
| /// Metadata for the incoming message. | ||
| /// </summary> | ||
| MessageMetadata MessageMetadata { get; } |
There was a problem hiding this comment.
I'd say we should go with message type only
to avoid exposing the message meta data further (I think we can 🔥 it going forwards)
|
If we go ahead with this we should change https://docs.particular.net/samples/pipeline/unit-of-work/ accordingly |
|
@andreasohlund yes, that's the |
|
Marking this as WIP after a call with @SzymonPobiega and @timbussmann . We think that the short term fix is to expose these hooks in the native persister instead (NH + SqlPersister). @SzymonPobiega will do a NH spike. We still believe that a UoW stage is good but it can likely wait to v7 |
|
looking forward for the nh spike. To capture my thoughts which align with the decision made as described by @andreasohlund:
|
|
Here's a NH PR Particular/NServiceBus.NHibernate#266 |
|
Closed in favor of #4493 |
Splits the
LoadHandlersConnectorinto two and insertsIUnitOfWorkContextstage between them:SynchronizedSessionConnectoronly manages the synchronized storage sessionLoadHandlersConnectoronly loads the handlersRelated customer cases:
00024734TODO:
IManageUnitOfWork