本文整理汇总了C#中Akka.Configuration.Config.GetConfig方法的典型用法代码示例。如果您正苦于以下问题:C# Config.GetConfig方法的具体用法?C# Config.GetConfig怎么用?C# Config.GetConfig使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Akka.Configuration.Config
的用法示例。
在下文中一共展示了Config.GetConfig方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemoteSettings
public RemoteSettings(Config config)
{
//TODO: need to add value validation for each field
Config = config;
LogReceive = config.GetBoolean("akka.remote.log-received-messages");
LogSend = config.GetBoolean("akka.remote.log-sent-messages");
var bufferSizeLogKey = "akka.remote.log-buffer-size-exceeding";
if (config.GetString(bufferSizeLogKey).ToLowerInvariant().Equals("off") ||
config.GetString(bufferSizeLogKey).ToLowerInvariant().Equals("false"))
{
LogBufferSizeExceeding = Int32.MaxValue;
}
else
{
LogBufferSizeExceeding = config.GetInt(bufferSizeLogKey);
}
UntrustedMode = config.GetBoolean("akka.remote.untrusted-mode");
TrustedSelectionPaths = new HashSet<string>(config.GetStringList("akka.remote.trusted-selection-paths"));
RemoteLifecycleEventsLogLevel = config.GetString("akka.remote.log-remote-lifecycle-events") ?? "DEBUG";
Dispatcher = config.GetString("akka.remote.use-dispatcher");
if (RemoteLifecycleEventsLogLevel.Equals("on", StringComparison.OrdinalIgnoreCase)) RemoteLifecycleEventsLogLevel = "DEBUG";
FlushWait = config.GetTimeSpan("akka.remote.flush-wait-on-shutdown");
ShutdownTimeout = config.GetTimeSpan("akka.remote.shutdown-timeout");
TransportNames = config.GetStringList("akka.remote.enabled-transports");
Transports = (from transportName in TransportNames
let transportConfig = TransportConfigFor(transportName)
select new TransportSettings(transportConfig)).ToArray();
Adapters = ConfigToMap(config.GetConfig("akka.remote.adapters"));
BackoffPeriod = config.GetTimeSpan("akka.remote.backoff-interval");
RetryGateClosedFor = config.GetTimeSpan("akka.remote.retry-gate-closed-for", TimeSpan.Zero);
UsePassiveConnections = config.GetBoolean("akka.remote.use-passive-connections");
SysMsgBufferSize = config.GetInt("akka.remote.system-message-buffer-size");
SysResendTimeout = config.GetTimeSpan("akka.remote.resend-interval");
SysResendLimit = config.GetInt("akka.remote.resend-limit");
InitialSysMsgDeliveryTimeout = config.GetTimeSpan("akka.remote.initial-system-message-delivery-timeout");
QuarantineSilentSystemTimeout = config.GetTimeSpan("akka.remote.quarantine-after-silence");
SysMsgAckTimeout = config.GetTimeSpan("akka.remote.system-message-ack-piggyback-timeout");
QuarantineDuration = config.GetTimeSpan("akka.remote.prune-quarantine-marker-after");
StartupTimeout = config.GetTimeSpan("akka.remote.startup-timeout");
CommandAckTimeout = config.GetTimeSpan("akka.remote.command-ack-timeout");
WatchFailureDetectorConfig = config.GetConfig("akka.remote.watch-failure-detector");
WatchFailureDetectorImplementationClass = WatchFailureDetectorConfig.GetString("implementation-class");
WatchHeartBeatInterval = WatchFailureDetectorConfig.GetTimeSpan("heartbeat-interval");
WatchUnreachableReaperInterval = WatchFailureDetectorConfig.GetTimeSpan("unreachable-nodes-reaper-interval");
WatchHeartbeatExpectedResponseAfter = WatchFailureDetectorConfig.GetTimeSpan("expected-response-after");
}
示例2: Deployer
public Deployer(Settings settings)
{
_settings = settings;
_deployment = settings.Config.GetConfig("akka.actor.deployment");
_default = _deployment.GetConfig("default");
Init();
}
示例3: RemoteSettings
public RemoteSettings(Config config)
{
Config = config;
LogReceive = config.GetBoolean("akka.remote.log-received-messages");
LogSend = config.GetBoolean("akka.remote.log-sent-messages");
UntrustedMode = config.GetBoolean("akka.remote.untrusted-mode");
TrustedSelectionPaths = new HashSet<string>(config.GetStringList("akka.remote.trusted-selection-paths"));
RemoteLifecycleEventsLogLevel = config.GetString("akka.remote.log-remote-lifecycle-events") ?? "DEBUG";
if (RemoteLifecycleEventsLogLevel.Equals("on")) RemoteLifecycleEventsLogLevel = "DEBUG";
FlushWait = config.GetMillisDuration("akka.remote.flush-wait-on-shutdown");
ShutdownTimeout = config.GetMillisDuration("akka.remote.shutdown-timeout");
TransportNames = config.GetStringList("akka.remote.enabled-transports");
Transports = (from transportName in TransportNames
let transportConfig = TransportConfigFor(transportName)
select new TransportSettings(transportConfig)).ToArray();
Adapters = ConfigToMap(config.GetConfig("akka.remote.adapters"));
BackoffPeriod = config.GetMillisDuration("akka.remote.backoff-interval");
RetryGateClosedFor = config.GetMillisDuration("akka.remote.retry-gate-closed-for", TimeSpan.Zero);
UsePassiveConnections = config.GetBoolean("akka.remote.use-passive-connections");
SysMsgBufferSize = config.GetInt("akka.remote.system-message-buffer-size");
SysResendTimeout = config.GetMillisDuration("akka.remote.resend-interval");
InitialSysMsgDeliveryTimeout = config.GetMillisDuration("akka.remote.initial-system-message-delivery-timeout");
SysMsgAckTimeout = config.GetMillisDuration("akka.remote.system-message-ack-piggyback-timeout");
QuarantineDuration = config.GetMillisDuration("akka.remote.prune-quarantine-marker-after");
StartupTimeout = config.GetMillisDuration("akka.remote.startup-timeout");
CommandAckTimeout = config.GetMillisDuration("akka.remote.command-ack-timeout");
}
示例4: PreCheck
/// <summary>
/// Should check the config and environment for possible erorrs.
/// If any found, shod throw the exception to prevent node from starting.
/// </summary>
/// <param name="config">Full akka config</param>
/// <exception cref="System.Exception">
/// Thrown if there are error in configuration and/or environment
/// </exception>
public override void PreCheck(Config config)
{
if (config.GetConfig("ClusterKit.Web.Nginx.Configuration") == null)
{
throw new ConfigurationException("ClusterKit.Web.Nginx.Configuration is not defined");
}
CheckNginxConfigAccess(config);
CheckNginxReloadCommandAccess(config);
}
示例5: ForkJoinDispatcherConfigurator
public ForkJoinDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites) : base(config, prerequisites)
{
var dtp = config.GetConfig("dedicated-thread-pool");
if (dtp == null || dtp.IsEmpty) throw new ConfigurationException(string.Format("must define section dedicated-thread-pool for ForkJoinDispatcher {0}", config.GetString("id", "unknown")));
var settings = new DedicatedThreadPoolSettings(dtp.GetInt("thread-count"),
DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype", ThreadType.Background.ToString())),
config.GetString("id"),
DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));
_instance = new ForkJoinDispatcher(this, settings);
}
示例6: ClusterSettings
public ClusterSettings(Config config, string systemName)
{
//TODO: Requiring!
var cc = config.GetConfig("akka.cluster");
LogInfo = cc.GetBoolean("log-info");
_failureDetectorConfig = cc.GetConfig("failure-detector");
FailureDetectorImplementationClass = _failureDetectorConfig.GetString("implementation-class");
HeartbeatInterval = _failureDetectorConfig.GetTimeSpan("heartbeat-interval");
HeartbeatExpectedResponseAfter = _failureDetectorConfig.GetTimeSpan("expected-response-after");
MonitoredByNrOfMembers = _failureDetectorConfig.GetInt("monitored-by-nr-of-members");
SeedNodes = cc.GetStringList("seed-nodes").Select(Address.Parse).ToImmutableList();
SeedNodeTimeout = cc.GetTimeSpan("seed-node-timeout");
RetryUnsuccessfulJoinAfter = cc.GetTimeSpanWithOffSwitch("retry-unsuccessful-join-after");
PeriodicTasksInitialDelay = cc.GetTimeSpan("periodic-tasks-initial-delay");
GossipInterval = cc.GetTimeSpan("gossip-interval");
GossipTimeToLive = cc.GetTimeSpan("gossip-time-to-live");
LeaderActionsInterval = cc.GetTimeSpan("leader-actions-interval");
UnreachableNodesReaperInterval = cc.GetTimeSpan("unreachable-nodes-reaper-interval");
PublishStatsInterval = cc.GetTimeSpanWithOffSwitch("publish-stats-interval");
var key = "down-removal-margin";
DownRemovalMargin = cc.GetString(key).ToLowerInvariant().Equals("off")
? TimeSpan.Zero
: cc.GetTimeSpan("down-removal-margin");
AutoDownUnreachableAfter = cc.GetTimeSpanWithOffSwitch("auto-down-unreachable-after");
Roles = cc.GetStringList("roles").ToImmutableHashSet();
MinNrOfMembers = cc.GetInt("min-nr-of-members");
//TODO:
//_minNrOfMembersOfRole = cc.GetConfig("role").Root.GetArray().ToImmutableDictionary(o => o. )
_useDispatcher = cc.GetString("use-dispatcher");
if (String.IsNullOrEmpty(_useDispatcher)) _useDispatcher = Dispatchers.DefaultDispatcherId;
GossipDifferentViewProbability = cc.GetDouble("gossip-different-view-probability");
ReduceGossipDifferentViewProbability = cc.GetInt("reduce-gossip-different-view-probability");
SchedulerTickDuration = cc.GetTimeSpan("scheduler.tick-duration");
SchedulerTicksPerWheel = cc.GetInt("scheduler.ticks-per-wheel");
MinNrOfMembersOfRole = cc.GetConfig("role").Root.GetObject().Items
.ToImmutableDictionary(kv => kv.Key, kv => kv.Value.GetObject().GetKey("min-nr-of-members").GetInt());
VerboseHeartbeatLogging = cc.GetBoolean("debug.verbose-heartbeat-logging");
var downingProviderClassName = cc.GetString("downing-provider-class");
if (!string.IsNullOrEmpty(downingProviderClassName))
DowningProviderType = Type.GetType(downingProviderClassName, true);
else if (AutoDownUnreachableAfter.HasValue)
DowningProviderType = typeof(AutoDowning);
else
DowningProviderType = typeof(NoDowning);
}
示例7: PinnedDispatcherConfigurator
public PinnedDispatcherConfigurator(Config config, IDispatcherPrerequisites prerequisites)
: base(config, prerequisites)
{
var dtp = config.GetConfig("dedicated-thread-pool");
if (dtp == null || dtp.IsEmpty)
{
_settings = DedicatedThreadPoolConfigHelpers.DefaultSingleThreadPoolSettings;
}
else
{
_settings = new DedicatedThreadPoolSettings(1,
DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype", ThreadType.Background.ToString())),
config.GetString("id"),
DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));
}
}
示例8: ClusterSettings
public ClusterSettings(Config config, string systemName)
{
//TODO: Requiring!
var cc = config.GetConfig("akka.cluster");
_logInfo = cc.GetBoolean("log-info");
_failureDetectorConfig = cc.GetConfig("failure-detector");
_failureDetectorImplementationClass = _failureDetectorConfig.GetString("implementation-class");
_heartbeatInterval = _failureDetectorConfig.GetTimeSpan("heartbeat-interval");
_heartbeatExpectedResponseAfter = _failureDetectorConfig.GetTimeSpan("expected-response-after");
_monitoredByNrOfMembers = _failureDetectorConfig.GetInt("monitored-by-nr-of-members");
_seedNodes = cc.GetStringList("seed-nodes").Select(Address.Parse).ToImmutableList();
_seedNodeTimeout = cc.GetTimeSpan("seed-node-timeout");
_retryUnsuccessfulJoinAfter = cc.GetTimeSpanWithOffSwitch("retry-unsuccessful-join-after");
_periodicTasksInitialDelay = cc.GetTimeSpan("periodic-tasks-initial-delay");
_gossipInterval = cc.GetTimeSpan("gossip-interval");
_gossipTimeToLive = cc.GetTimeSpan("gossip-time-to-live");
_leaderActionsInterval = cc.GetTimeSpan("leader-actions-interval");
_unreachableNodesReaperInterval = cc.GetTimeSpan("unreachable-nodes-reaper-interval");
_publishStatsInterval = cc.GetTimeSpanWithOffSwitch("publish-stats-interval");
_downRemovalMargin = cc.GetTimeSpan("down-removal-margin");
_autoDownUnreachableAfter = cc.GetTimeSpanWithOffSwitch("auto-down-unreachable-after");
_roles = cc.GetStringList("roles").ToImmutableHashSet();
_minNrOfMembers = cc.GetInt("min-nr-of-members");
//TODO:
//_minNrOfMembersOfRole = cc.GetConfig("role").Root.GetArray().ToImmutableDictionary(o => o. )
//TODO: Ignored jmx
_useDispatcher = cc.GetString("use-dispatcher");
if (String.IsNullOrEmpty(_useDispatcher)) _useDispatcher = Dispatchers.DefaultDispatcherId;
_gossipDifferentViewProbability = cc.GetDouble("gossip-different-view-probability");
_reduceGossipDifferentViewProbability = cc.GetInt("reduce-gossip-different-view-probability");
_schedulerTickDuration = cc.GetTimeSpan("scheduler.tick-duration");
_schedulerTicksPerWheel = cc.GetInt("scheduler.ticks-per-wheel");
_metricsEnabled = cc.GetBoolean("metrics.enabled");
_metricsCollectorClass = cc.GetString("metrics.collector-class");
_metricsInterval = cc.GetTimeSpan("metrics.collect-interval");
_metricsGossipInterval = cc.GetTimeSpan("metrics.gossip-interval");
_metricsMovingAverageHalfLife = cc.GetTimeSpan("metrics.moving-average-half-life");
_minNrOfMembersOfRole = cc.GetConfig("role").Root.GetObject().Items
.ToImmutableDictionary(kv => kv.Key, kv => kv.Value.GetObject().GetKey("min-nr-of-members").GetInt());
_verboseHeartbeatLogging = cc.GetBoolean("debug.verbose-heartbeat-logging");
}
示例9: FromConfig
public static DefaultResizer FromConfig(Config resizerConfig)
{
return resizerConfig.GetBoolean("resizer.enabled") ? new DefaultResizer(resizerConfig.GetConfig("resizer")) : null;
}
示例10: CheckNginxReloadCommandAccess
/// <summary>
/// Checks that service has access to nginx config file
/// </summary>
/// <param name="config">Akka configuration</param>
private static void CheckNginxReloadCommandAccess(Config config)
{
var reloadCommandConfig = config.GetConfig("ClusterKit.Web.Nginx.ReloadCommand");
if (reloadCommandConfig != null)
{
var commandPath = reloadCommandConfig.GetString("Command");
if (string.IsNullOrWhiteSpace(commandPath))
{
throw new ConfigurationException("ClusterKit.Web.Nginx.ReloadCommand.Command is not defined");
}
// todo: actualy need to check Execute access
CheckFileAccess(commandPath, FileIOPermissionAccess.Read);
}
}
示例11: ConfigureSettings
private static DedicatedThreadPoolSettings ConfigureSettings(Config config)
{
var dtp = config.GetConfig("dedicated-thread-pool");
var fje = config.GetConfig("fork-join-executor");
if ((dtp == null || dtp.IsEmpty) && (fje == null || fje.IsEmpty)) throw new ConfigurationException(
$"must define section 'dedicated-thread-pool' OR 'fork-join-executor' for fork-join-executor {config.GetString("id", "unknown")}");
if (dtp != null && !dtp.IsEmpty)
{
var settings = new DedicatedThreadPoolSettings(dtp.GetInt("thread-count"),
DedicatedThreadPoolConfigHelpers.ConfigureThreadType(dtp.GetString("threadtype",
ThreadType.Background.ToString())),
config.GetString("id"),
DedicatedThreadPoolConfigHelpers.GetSafeDeadlockTimeout(dtp));
return settings;
}
else
{
var settings = new DedicatedThreadPoolSettings(ThreadPoolConfig.ScaledPoolSize(fje.GetInt("parallelism-min"), 1.0, fje.GetInt("parallelism-max")),
name:config.GetString("id"));
return settings;
}
}
示例12: Deployer
public Deployer(Settings settings)
{
this.settings = settings;
deployment = settings.Config.GetConfig("akka.actor.deployment");
@default = deployment.GetConfig("default");
}