void BuildPipeline(SubscriptionRequestChannelSchema schema, SendMessageCache cache) { MessagePipelineBuilder.Build() .With(new SubscriptionRequestor(schema)) .ToProcessor(new MessageAddresser(schema.SubscriberAddress, schema.PublisherAddress)) .ToProcessor(new SendChannelMessageCacher(cache)) .ToMessageRepeater(cache, systemTime, taskRepeater, ConstantTimeRepeatStrategy.EveryTenSeconds()) .ToProcessor(new SendChannelMessageCacheUpdater(cache)) .ToProcessor(new PersistenceSourceRecorder()) .Pump() .ToProcessor(new LastSentRecorder(systemTime)) .ToProcessor(authenticationSessionAttacherFactory.Create(schema.PublisherAddress)) .ToEndPoint(messageSender); }
SendMessageCache CreateCache(SubscriptionRequestChannelSchema schema) { return messageCacheFactory.BuildNonDurableSendCache(PersistenceUseType.SubscriberRequestSend, schema.PublisherAddress); }
public void Build(SubscriptionRequestChannelSchema schema) { SendMessageCache cache = CreateCache(schema); RegisterCacheWithAcknowledgementHandler(cache); BuildPipeline(schema, cache); }