/// <summary> /// Gets the Local System configuration /// </summary> /// <returns></returns> private static ActorSbConfig GetLocaSysConfig() { ActorSbConfig cfg = new ActorSbConfig(); cfg.SbConnStr = Environment.GetEnvironmentVariable("SbConnStr"); cfg.ReplyMsgQueue = "actorsystem2/rcvlocal"; cfg.RequestMsgTopic = "actorsystem/actortopic"; cfg.ActorSystemName = "actorsystem2"; return(cfg); }
/// <summary> /// Creates all required actors, which host partitions. /// </summary> /// <param name="config"></param> public ActorSbDistributedDictionaryBase(ActorSbConfig config, ILogger logger) { if (config == null) { throw new ArgumentException("Configuration must be specified."); } this.Config = config; this.actorSystem = new ActorSystem("HtmCalculusDriver", config, logger); }
internal static ActorSbConfig GetLocaSysConfig() { ActorSbConfig cfg = new ActorSbConfig(); cfg.SbConnStr = sbConnStr; cfg.ReplyMsgQueue = "actorsystem/rcvlocal"; cfg.RequestMsgTopic = "actorsystem/actortopic"; cfg.TblStoragePersistenConnStr = tblAccountConnStr; cfg.ActorSystemName = "inst701"; return(cfg); }
/// <summary> /// Gets the remote system configurations /// </summary> /// <param name="node"></param> /// <returns></returns> internal static ActorSbConfig GetRemoteSysConfig(string node = "default") { var localCfg = GetLocaSysConfig(); ActorSbConfig cfg = new ActorSbConfig(); cfg.SbConnStr = SbConnStr; cfg.RequestMsgTopic = "actorsystem/actortopic"; cfg.RequestSubscriptionName = node; cfg.ReplyMsgQueue = null; return(cfg); }
public void TestInitialisation() { ActorSbConfig actorSbConfig = new ActorSbConfig(); Assert.IsNotNull(actorSbConfig); actorSbConfig.ActorSystemName = "ActorSystemName"; actorSbConfig.TblStoragePersistenConnStr = "TableConnectionString"; actorSbConfig.NumOfPartitions = 10; actorSbConfig.ReplyMsgQueue = "ReplyMessageQueue"; actorSbConfig.RequestMsgTopic = "replyMessageTopic"; actorSbConfig.RequestSubscriptionName = "SubscriptionName"; Assert.AreEqual("ActorSystemName", actorSbConfig.ActorSystemName); Assert.AreEqual("TableConnectionString", actorSbConfig.TblStoragePersistenConnStr); Assert.AreEqual(10, actorSbConfig.NumOfPartitions); Assert.AreEqual("ReplyMessageQueue", actorSbConfig.ReplyMsgQueue); Assert.AreEqual("replyMessageTopic", actorSbConfig.RequestMsgTopic); Assert.AreEqual("SubscriptionName", actorSbConfig.RequestSubscriptionName); Assert.AreEqual(100, actorSbConfig.BatchSize); }
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."); }
/// <summary> /// Represents Main class that initialise the client and asks a response from the service /// </summary> static async Task Main(string[] args) { Console.WriteLine("Hello World!"); CancellationTokenSource src = new CancellationTokenSource(); ILogger logger = generateLogger(); var cfg = new ActorSbConfig(); cfg.SbConnStr = Environment.GetEnvironmentVariable("SbConnStr"); cfg.ReplyMsgQueue = "actorsystem/rcvlocal"; cfg.RequestMsgTopic = "actorsystem/actortopic"; cfg.TblStoragePersistenConnStr = null; cfg.ActorSystemName = "inst701"; logger?.LogInformation("Loaded Configuration, Messaging-Queue:" + cfg.ReplyMsgQueue + ", Message-Topic:" + cfg.RequestMsgTopic); ActorSystem sysLocal = new ActorSystem($"TestDotNetWorking", cfg); logger?.LogInformation("Created ActorSystem"); ActorReference actorRef1 = sysLocal.CreateActor <MyActor>(1); ActorReference actorRef2 = sysLocal.CreateActor <MyActor>(77); logger?.LogInformation("Created two Actor references, actorReference1: " + actorRef1 + ", actorReference2: " + actorRef2); logger?.LogInformation("Asking 42 long value from actorReference1"); var response = await actorRef1.Ask <long>((long)42); logger?.LogInformation("Received result: " + response); logger?.LogInformation("Asking 7 long value from actorReference1"); response = actorRef1.Ask <long>((long)7).Result; logger?.LogInformation("Received result: " + response); var resp = await actorRef1.Ask <DeviceState>(new DeviceState() { Color = "green", State = true }); var stringResponse = await actorRef1.Ask <DateTime>(DateTime.Now); logger?.LogInformation("Successfully tested the functionality"); }