public AtomDocumentRetriever(SubscriptionManager burstManager, ILoggingAdapter adapter, IAtomDocumentRepository documentRepository) { _documentRepository = documentRepository; this.burstManager = burstManager; _adapter = adapter; atomDocumentSerialiser = new AtomDocumentSerialiser(); }
protected override void ConfigureIoc() { var actorSystemFactory = new ShardedActorSystemFactory(AkkaHostingPort, ActorSystemName, PersistenceSectionName, AkkaSeedNodes); var actorSystem = actorSystemFactory.GetActorSystem(); var atomSettings = new ConfigurableAtomDocumentSettings(EntriesPerDocument); var subscriptionManager = new SubscriptionManager(actorSystem, atomSettings); var eventPublisher = new EventPublisher(actorSystem); var loggingEventPublisher = new LoggingEventPublisherDecorator(eventPublisher); IocContainer.Register<IEventPublisher>(loggingEventPublisher); IocContainer.Register<ISubscriptionManager>(subscriptionManager); var documentRetriever = new LoggingAtomDocumentRetrieverDecorator(new AtomDocumentRetriever(subscriptionManager, actorSystem.Log, new InMemoryAtomDocumentRepository())); IocContainer.Register<IAtomDocumentRetriever>(documentRetriever); IocContainer.RegisterMultiple<IOwinConfiguration, WebApiOwinConfiguration>(IocLifecycle.PerRequest); }