private void RunStatePersistenceTest2(string instanceName) { Debug.WriteLine($"Start of {nameof(RunStatePersistenceTest2)}"); BlobStoragePersistenceProvider prov = new BlobStoragePersistenceProvider(); prov.InitializeAsync(instanceName, new Dictionary <string, object>() { { "StorageConnectionString", storageConnStr } }, purgeOnStart: false).Wait(); var cfg = SbAkkaTest.GetLocaSysConfig(); ActorSystem sysLocal = new ActorSystem($"{nameof(BlobStatePersistenceTest)}/local", cfg); ActorSystem sysRemote = new ActorSystem($"{nameof(BlobStatePersistenceTest)}/remote", SbAkkaTest.GetRemoteSysConfig(), persistenceProvider: prov); CancellationTokenSource src = new CancellationTokenSource(); var task = Task.Run(() => { sysRemote.Start(src.Token); prov.Purge().Wait(); }); ActorReference actorRef1 = sysLocal.CreateActor <CounterActor>(1); var response = actorRef1.Ask <long>((long)1).Result; Assert.IsTrue(response == 50); src.Cancel(); Debug.WriteLine($"End of {nameof(RunStatePersistenceTest2)}"); }
private void RunStatePersistenceTest1(string instanceName) { Debug.WriteLine($"Start of {nameof(RunStatePersistenceTest1)}"); BlobStoragePersistenceProvider prov = new BlobStoragePersistenceProvider(); //prov.InitializeAsync(instanceName, new Dictionary<string, object>() { { "StorageConnectionString", storageConnStr } }, purgeOnStart: false).Wait(); var cfg = DotNetActorsTests.GetLocaSysConfig(); ActorSystem sysLocal = new ActorSystem($"{nameof(BlobStatePersistenceTest)}/local", cfg); // TODO: Passing persistence provider null until connection string is not fixed ActorSystem sysRemote = new ActorSystem($"{nameof(BlobStatePersistenceTest)}/remote", DotNetActorsTests.GetRemoteSysConfig(), null); CancellationTokenSource src = new CancellationTokenSource(); var task = Task.Run(() => { sysRemote.Start(src.Token); }); ActorReference actorRef1 = sysLocal.CreateActor <CounterActor>(1); var response = actorRef1.Ask <long>((long)42).Result; Assert.IsTrue(response == 42); response = actorRef1.Ask <long>((long)7).Result; Assert.IsTrue(response == 49); src.Cancel(); Debug.WriteLine($"End of {nameof(RunStatePersistenceTest1)}"); }
public void Start(string[] args) { ActorSbConfig cfg = new ActorSbConfig(); var builder = new ConfigurationBuilder(); builder.AddCommandLine(args); builder.AddEnvironmentVariables(); IConfigurationRoot configArgs = builder.Build(); cfg.SbConnStr = configArgs["SbConnStr"]; cfg.ReplyMsgQueue = configArgs["ReplyMsgQueue"]; cfg.RequestMsgTopic = configArgs["RequestMsgTopic"]; cfg.TblStoragePersistenConnStr = configArgs["TblStoragePersistenConnStr"]; cfg.ActorSystemName = configArgs["ActorSystemName"]; cfg.RequestSubscriptionName = configArgs["SubscriptionName"]; string systemName = configArgs["SystemName"]; Console.CancelKeyPress += (sender, eventArgs) => { tokenSrc.Cancel(); }; BlobStoragePersistenceProvider prov = null; if (String.IsNullOrEmpty(cfg.TblStoragePersistenConnStr) == false) { prov = new BlobStoragePersistenceProvider(); } prov.InitializeAsync(cfg.ActorSystemName, new Dictionary <string, object>() { { "StorageConnectionString", cfg.TblStoragePersistenConnStr } }, purgeOnStart: false, logger: this.logger).Wait(); akkaClusterSystem = new AkkaSb.Net.ActorSystem($"{systemName}", cfg, logger, prov); akkaClusterSystem.Start(tokenSrc.Token); Console.WriteLine("Press any key to stop Actor SB system."); }