Package ch.rswk.meta.engine
Class EngineRuntime
java.lang.Object
ch.rswk.meta.engine.EngineRuntime
- All Implemented Interfaces:
Executor
EngineRuntime provides executor services,
ServiceManager for service lifecycle, centralized access to
Metric,
Health-Check and AlertRegistry.
Implements Executor to provide convenience to submit and handle async tasks. See
ListenableFuture.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic final recordstatic final recordstatic final recordprivate static classprivate static classstatic final recordstatic interfaceprivate static classprivate class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AlertRegistryprivate final EngineRuntime.EngineRuntimeConfigprivate final com.google.common.eventbus.EventBusprivate final com.google.common.util.concurrent.ListeningExecutorServiceprivate final com.codahale.metrics.health.HealthCheckRegistryprivate static final org.slf4j.Loggerprivate final com.codahale.metrics.MetricRegistryprivate booleanprivate static final Stringprivate final ScheduledTasksprivate final com.github.benmanes.caffeine.cache.Schedulerprivate static final Collector<CharSequence, ?, String> private final javax.inject.Provider<com.google.common.util.concurrent.ServiceManager> private OffsetDateTimeprivate static final Predicate<com.google.common.util.concurrent.Service.State> static final Durationprivate final Map<String, EngineRuntime.FileWatcher> private final WatchService -
Constructor Summary
ConstructorsConstructorDescriptionEngineRuntime(AlertRegistry alertRegistry, EngineRuntime.EngineRuntimeConfig config, com.google.common.eventbus.EventBus eventBus, com.google.common.util.concurrent.ListeningExecutorService executor, com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry, com.codahale.metrics.MetricRegistry metricRegistry, javax.inject.Provider<com.google.common.util.concurrent.ServiceManager> serviceManagerProvider, Set<EngineRuntime.FileWatcher> watchers) -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleanawaitServices(Consumer<com.google.common.util.concurrent.Service> await, com.google.common.util.concurrent.Service... services) booleanawaitServicesRunning(com.google.common.util.concurrent.Service... services) booleanawaitServicesTerminated(com.google.common.util.concurrent.Service... services) static voidcancelFuture(@Nullable Future<?> f) private voidcom.google.common.eventbus.EventBuseventBus()voidcom.fasterxml.jackson.databind.node.ObjectNodeprivate StringgetServiceName(Object service) <T> List<T> getServices(Class<T> type) private static WatchServicecom.codahale.metrics.health.HealthCheckRegistrybooleanbooleancom.codahale.metrics.MetricRegistrystatic com.codahale.metrics.health.HealthCheckRegistrystatic com.codahale.metrics.MetricRegistryprivate static voidputStatsMetrics(Map<String, com.codahale.metrics.Metric> metrics, com.github.benmanes.caffeine.cache.stats.CacheStats stats) voidcom.github.benmanes.caffeine.cache.SchedulervoidshutDown()voidshutdownAndAwaitTermination(ExecutorService executor) voidstartUp()void<T> com.google.common.util.concurrent.ListenableFuture<T>
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
WATCH_SCHEDULE
-
RUNTIME_METRIC_PREFIX
- See Also:
-
SERVICE_NAME_JOINER
-
UNHEALTHY_SERVICE_STATES
private static final Predicate<com.google.common.util.concurrent.Service.State> UNHEALTHY_SERVICE_STATES -
alertRegistry
-
config
-
eventBus
private final com.google.common.eventbus.EventBus eventBus -
executor
private final com.google.common.util.concurrent.ListeningExecutorService executor -
healthCheckRegistry
private final com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry -
metricRegistry
private final com.codahale.metrics.MetricRegistry metricRegistry -
scheduledTasks
-
scheduler
private final com.github.benmanes.caffeine.cache.Scheduler scheduler -
serviceManagerProvider
private final javax.inject.Provider<com.google.common.util.concurrent.ServiceManager> serviceManagerProvider -
watchService
-
watchersByFileName
-
running
private volatile boolean running -
startDateTime
-
-
Constructor Details
-
EngineRuntime
@Inject public EngineRuntime(AlertRegistry alertRegistry, EngineRuntime.EngineRuntimeConfig config, com.google.common.eventbus.EventBus eventBus, com.google.common.util.concurrent.ListeningExecutorService executor, com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry, com.codahale.metrics.MetricRegistry metricRegistry, javax.inject.Provider<com.google.common.util.concurrent.ServiceManager> serviceManagerProvider, Set<EngineRuntime.FileWatcher> watchers)
-
-
Method Details
-
registerFileWatcher
-
alertRegistry
-
awaitServicesRunning
public boolean awaitServicesRunning(com.google.common.util.concurrent.Service... services) -
awaitServices
private static boolean awaitServices(Consumer<com.google.common.util.concurrent.Service> await, com.google.common.util.concurrent.Service... services) -
awaitServicesTerminated
public boolean awaitServicesTerminated(com.google.common.util.concurrent.Service... services) -
cancelFuture
-
eventBus
public com.google.common.eventbus.EventBus eventBus() -
execute
-
getServiceInfo
public com.fasterxml.jackson.databind.node.ObjectNode getServiceInfo() -
getUptime
-
getServices
-
getServiceName
-
getUnhealthyService
-
getWatchService
-
healthCheckRegistry
public com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry() -
isHealthy
public boolean isHealthy() -
isServiceManagerHealthy
public boolean isServiceManagerHealthy() -
metricRegistry
public com.codahale.metrics.MetricRegistry metricRegistry() -
newHealthCheckRegistry
public static com.codahale.metrics.health.HealthCheckRegistry newHealthCheckRegistry() -
newMetricRegistry
public static com.codahale.metrics.MetricRegistry newMetricRegistry() -
putStatsMetrics
-
scheduledTasks
-
scheduler
public com.github.benmanes.caffeine.cache.Scheduler scheduler() -
startUp
public void startUp() -
shutDown
public void shutDown() -
shutdownAndAwaitTermination
-
checkForFileChanges
private void checkForFileChanges() -
submit
- See Also:
-
submit
- See Also:
-