public void Initialize(string name, IServiceCollection serviceCollection, int endpointPort) { // register anything that is Actor Framework specific // Actors MUST be transient // Any actor depencency must be transient or singleton serviceCollection.AddTransient <ProjectionActor>(); serviceCollection.AddTransient <ProjectionActorV2>(); serviceCollection.AddTransient <RoomActor>(); MonitoringSystems.AddSystem(new InMemoryMonitoringSystem("InMemory")); ActorMonitoring.TrackReceivedMessagesEnabled = true; MetricsHousekeeper.Configure(new [] { new InMemoryEventsExpirationRule(TimeSpan.FromMinutes(5)) }); MetricsHousekeeper.Schedule(TimeSpan.FromMinutes(1)); EndpointInstaller.Start(endpointPort); string hocon = System.IO.File.ReadAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"AkkaApp\hocon.cfg")); var config = ConfigurationFactory.ParseString(hocon); // .WithFallback(); ColoredConsole.WriteLine("Creating the ActorSystem"); _actorSystem = ActorSystem.Create(name, config); new AkkaServiceProviderDependencyResolver(serviceCollection.BuildServiceProvider(), _actorSystem); // add a deadletter watcher actor var deadlettermonitorRef = _actorSystem.ActorOf <DeadLetterMonitor>("deadlettermonitor"); _actorSystem.EventStream.Subscribe(deadlettermonitorRef, typeof(DeadLetter)); }
public void Initialize(string name) { MonitoringSystems.AddSystem(new InMemoryMonitoringSystem("InMemory")); ActorMonitoring.TrackReceivedMessagesEnabled = true; EndpointInstaller.Start(5003); string hocon = System.IO.File.ReadAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "hocon.cfg")); var config = ConfigurationFactory.ParseString(hocon); // .WithFallback(); ColoredConsole.WriteLine("Creating the ActorSystem"); _actorSystem = ActorSystem.Create(name, config); // add a deadletter watcher actor var deadlettermonitorRef = _actorSystem.ActorOf <DeadLetterMonitor>("deadlettermonitor"); _actorSystem.EventStream.Subscribe(deadlettermonitorRef, typeof(DeadLetter)); }