Пример #1
0
        protected override void ConfigureIoc()
        {
            var actorSystemFactory = new ShardedActorSystemFactory(AkkaHostingPort, ActorSystemName, PersistenceSectionName, AkkaSeedNodes);
            var actorSystem        = actorSystemFactory.GetActorSystem();

            var subscriptionManager   = new ShardedSubscriptionManager(actorSystem);
            var eventPublisher        = new DistributedPubSubEventPublisher(actorSystem);
            var loggingEventPublisher = new LoggingEventPublisherDecorator(eventPublisher);

            var atomDocumentFactory = new ShardedAtomDocumentFactory(actorSystem);
            var atomFeedFactory     = new ShardedAtomFeedFactory(actorSystem, atomDocumentFactory, new ConfigurableAtomDocumentSettings(EntriesPerDocument));

            var settings = new AtomNotificationSettings(atomFeedFactory);

            var atomRetriever        = new AtomDocumentRetriever(atomFeedFactory, atomDocumentFactory);
            var loggingAtomRetriever = new LoggingAtomDocumentRetrieverDecorator(atomRetriever);

            IocContainer.Register <ISubscriptionManager>(subscriptionManager);
            IocContainer.Register <IEventPublisher>(loggingEventPublisher);
            IocContainer.Register <ShardedAtomDocumentFactory>(atomDocumentFactory);
            IocContainer.Register <ShardedAtomFeedFactory>(atomFeedFactory);
            IocContainer.Register <IAtomDocumentRetriever>(loggingAtomRetriever);

            IocContainer.RegisterMultiple <IOwinConfiguration, WebApiOwinConfiguration>(IocLifecycle.PerRequest);
        }
 private void Create(int port, string actorSystemName, string seedNode)
 {
     var factory = new ShardedActorSystemFactory(port, actorSystemName, "inmem", seedNode);
     var actorSystem = factory.GetActorSystem();
     actorSystem.ActorOf(Props.Create<ClusterEventListener>());
     var atomDocumentFactory = new ShardedAtomDocumentFactory(actorSystem);
     var actorFactory = new ShardedAtomFeedFactory(actorSystem, atomDocumentFactory, new ConfigurableAtomDocumentSettings(10));
     atomNotifiers.Add(new AtomEventNotifier(actorFactory));
     atomDocumentRetrievers.Add(new AtomDocumentRetriever(actorFactory, atomDocumentFactory));
     numberOfNodes++;
 }
        private void Create(int port, string actorSystemName, string seedNode)
        {
            var factory     = new ShardedActorSystemFactory(port, actorSystemName, "inmem", seedNode);
            var actorSystem = factory.GetActorSystem();

            actorSystem.ActorOf(Props.Create <ClusterEventListener>());
            var atomDocumentFactory = new ShardedAtomDocumentFactory(actorSystem);
            var actorFactory        = new ShardedAtomFeedFactory(actorSystem, atomDocumentFactory, new ConfigurableAtomDocumentSettings(10));

            atomNotifiers.Add(new AtomEventNotifier(actorFactory));
            atomDocumentRetrievers.Add(new AtomDocumentRetriever(actorFactory, atomDocumentFactory));
            numberOfNodes++;
        }
        public static void SetupActorSystem()
        {
            var actorSystem = factory.GetActorSystem();

            ShardedAtomDocumentFactory atomDocumentFactory = new ShardedAtomDocumentFactory(actorSystem);
            ShardedAtomFeedFactory actorFactory = new ShardedAtomFeedFactory(actorSystem, atomDocumentFactory, new ConfigurableAtomDocumentSettings(10));
            _notifier = new AtomEventNotifier(actorFactory);
            _retriever = new AtomDocumentRetriever(actorFactory, atomDocumentFactory);

            subscriptionMessage = new SubscriptionMessage(
                new AtomNotificationChannel(),
                new SubscriptionId(Guid.NewGuid().ToString()),
                new AllEventMatcher());

            _notifier.Create(subscriptionMessage);
        }
        public static void SetupActorSystem()
        {
            var actorSystem = factory.GetActorSystem();

            ShardedAtomDocumentFactory atomDocumentFactory = new ShardedAtomDocumentFactory(actorSystem);
            ShardedAtomFeedFactory     actorFactory        = new ShardedAtomFeedFactory(actorSystem, atomDocumentFactory, new ConfigurableAtomDocumentSettings(10));

            _notifier  = new AtomEventNotifier(actorFactory);
            _retriever = new AtomDocumentRetriever(actorFactory, atomDocumentFactory);

            subscriptionMessage = new SubscriptionMessage(
                new AtomNotificationChannel(),
                new SubscriptionId(Guid.NewGuid().ToString()),
                new AllEventMatcher());

            _notifier.Create(subscriptionMessage);
        }
 public AtomDocumentRetriever(ShardedAtomFeedFactory factory, ShardedAtomDocumentFactory builder)
 {
     shardedAtomDocumentFactory = builder;
     this.factory           = factory;
     atomDocumentSerialiser = new AtomDocumentSerialiser();
 }
Пример #7
0
 public void Configure(ActorSystem actorSystem)
 {
     var atomDocumentFactory = new ShardedAtomDocumentFactory(actorSystem);
     var atomFeedFactory     = new ShardedAtomFeedFactory(actorSystem, atomDocumentFactory, documentSettings);
     var settings            = new AtomNotificationSettings(atomFeedFactory);
 }