Class FcResilienceConfig
java.lang.Object
org.frontcache.resilience.FcResilienceConfig
Reads conf/resilience.properties into plain
Properties and resolves per-command settings from
it, replacing the Archaius ConfigurationManager.install() path.
That replacement is most of the point. Archaius accepted an install once per JVM, globally, which is
why FCConfig used to carry an isConfigurationInstalled() branch and why
FrontcacheConfigBootstrapListener existed at all: whoever touched Archaius first won, so if
the dashboard stream was hit before any page request, every per-command override in the file was
silently dropped. Here the file is just a Properties object read at first use. Both workarounds are
deleted and that entire class of startup-ordering bug is no longer possible. See proposal section 6.5.
Key resolution: resilience.command.<key>.<prop>, then hystrix.command.<key>.<prop>,
then the same two at default scope, then the built-in default. The hystrix.* prefix is
the pre-2.7 spelling and stays accepted indefinitely - it costs one lookup and it is the difference
between an upgrade that silently reverts every tuning key to its default and one that does not.
The legacy FILE NAME is not. conf/hystrix.properties was read as a fallback for one
release, warning as it went, and 2.9.0 removed it: a node that still has only that file now runs on
built-in defaults and says so. The KEY PREFIX and the FILE NAME were always separate contracts on
separate schedules, which is why one outlived the other - renaming the file was always enough, and
was what the warning asked for.-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionEvery command key the file mentions - used by tests and by the config dump.forCommand(String commandKey, String threadPoolKey) static FcResilienceConfigWhich file these settings came from, so a caller can name the file the operator has to edit.intpoolCoreSize(String poolKey) intpoolKeepAliveMinutes(String poolKey) intpoolMaximumSize(String poolKey) intpoolMaxQueueSize(String poolKey) Hystrix default is -1, meaning "no queue" - a SynchronousQueue, not an unbounded one.int
-
Field Details
-
DEFAULT_ROLLING_STATS_MS
public static final int DEFAULT_ROLLING_STATS_MS- See Also:
-
-
Method Details
-
loadedFrom
Which file these settings came from, so a caller can name the file the operator has to edit. -
getInstance
-
forCommand
-
poolCoreSize
-
poolMaximumSize
-
poolMaxQueueSize
Hystrix default is -1, meaning "no queue" - a SynchronousQueue, not an unbounded one. -
poolKeepAliveMinutes
-
streamMaxConcurrentConnections
public int streamMaxConcurrentConnections() -
configuredCommandKeys
-