diff options
Diffstat (limited to 'container-disc/src/main/java/com/yahoo/container/jdisc/jrt/DefaultJrtFactory.java')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/jrt/DefaultJrtFactory.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/jrt/DefaultJrtFactory.java b/container-disc/src/main/java/com/yahoo/container/jdisc/jrt/DefaultJrtFactory.java new file mode 100644 index 00000000000..93a72e200e0 --- /dev/null +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/jrt/DefaultJrtFactory.java @@ -0,0 +1,35 @@ +// Copyright 2019 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.container.jdisc.jrt; + +import com.google.inject.Inject; +import com.yahoo.component.AbstractComponent; +import com.yahoo.jdisc.Metric; +import com.yahoo.jrt.Supervisor; +import com.yahoo.jrt.Transport; + +/** + * The default factory for JRT {@link Supervisor}. Tracks jrt metrics. + * + * @author bjorncs + */ +public class DefaultJrtFactory extends AbstractComponent implements JrtFactory { + + private final JrtMetricsUpdater metricsUpdater; + + @Inject + public DefaultJrtFactory(Metric metric) { + this.metricsUpdater = new JrtMetricsUpdater(metric); + } + + @Override + public Supervisor createSupervisor() { + Supervisor supervisor = new Supervisor(new Transport()); + metricsUpdater.register(supervisor); + return supervisor; + } + + @Override + public void deconstruct() { + metricsUpdater.stop(); + } +} |