This pull request ensures that when a user has persistent streams configured, the SetupPayloadCreator will return a dedicated MessageSourceInformation instance.
This new implementation is the PersistentStreamMessageSourceInformation, containing all static information of a persistent stream.
Hence, the streamName and segmentCountare not included in the setup-payload.
That information should be provided on the Processors page but will follow in another pull request.
Next to adding the PersistentStreamMessageSourceInformation, I have adjusted the SetupPayloadCreator to invoke a specific mapSubscribableMessageSource to map the SubscribableMessageSource (which may be a persistent streams implementation) to a MessageSourceInformation.
Before this pull request, the SetupPayloadCreator simply assumed the message source was an implementation of the StreamableMessageSource at all times.
This is, obviously, not the case when a PersistentStreamMessageSource is set for a SubscribingEventProcessor.
This pull request ensures that when a user has persistent streams configured, the
SetupPayloadCreator
will return a dedicatedMessageSourceInformation
instance.This new implementation is the
PersistentStreamMessageSourceInformation
, containing all static information of a persistent stream. Hence, thestreamName
andsegmentCount
are not included in the setup-payload. That information should be provided on the Processors page but will follow in another pull request.Next to adding the
PersistentStreamMessageSourceInformation
, I have adjusted theSetupPayloadCreator
to invoke a specificmapSubscribableMessageSource
to map theSubscribableMessageSource
(which may be a persistent streams implementation) to aMessageSourceInformation
. Before this pull request, theSetupPayloadCreator
simply assumed the message source was an implementation of theStreamableMessageSource
at all times. This is, obviously, not the case when aPersistentStreamMessageSource
is set for aSubscribingEventProcessor
.