Esempio n. 1
0
        public SingleActorShould()
        {
            _actor        = new TestActor(1);
            _actorContext = new Mock <IActorContext>();

            _actorContext
            .Setup(context => context.GetEnumerator())
            .Returns(EmptyEnumerator <Actor> .Instance);

            _single = new SingleActor <TestActor>(_actorContext.Object);
        }
        public void RegisterOnMemberUp()
        {
            Console.WriteLine(cluster.SelfAddress + "上线.....");

            var clusterSingletonManagerProps = ClusterSingletonManager.Props(
                singletonProps: SingleActor.CreateProps(this.actorSystem).WithRouter(new Akka.Routing.RoundRobinPool(5)),
                terminationMessage: PoisonPill.Instance,
                settings: ClusterSingletonManagerSettings.Create(ActorSystem));


            var singlet = ActorSystem.ActorOf(clusterSingletonManagerProps, name: "singletonManager");

            Console.WriteLine("singletonManager:{0}", singlet.Path.ToString());
        }
Esempio n. 3
0
        public SingleActor <TActor> GetSingle <TActor>() where TActor : Actor
        {
            var typeId = Typeof <TActor> .Id;

            object singleActor;

            using (Lock.Enter(_singleActors))
            {
                // ReSharper disable once InvertIf
                if (!_singleActors.TryGetValue(typeId, out singleActor))
                {
                    singleActor = new SingleActor <TActor>(this);
                    _singleActors.Add(typeId, singleActor);
                }
            }

            return((SingleActor <TActor>)singleActor);
        }