public class MBeanExposer extends AbstractContainerLifecycleListener implements MonitoringStatisticsListener
Modifier and Type | Field and Description |
---|---|
private javax.inject.Provider<ApplicationInfo> |
applicationInfoProvider |
private java.util.concurrent.atomic.AtomicBoolean |
destroyed |
private java.lang.String |
domain
Name of domain that will prefix mbeans
ObjectName . |
private ExceptionMapperMXBeanImpl |
exceptionMapperMXBean |
private java.lang.Object |
LOCK |
private static java.util.logging.Logger |
LOGGER |
(package private) static java.lang.String |
PROPERTY_EXECUTION_TIMES_METHODS |
(package private) static java.lang.String |
PROPERTY_EXECUTION_TIMES_REQUESTS |
private static java.lang.String |
PROPERTY_SUBTYPE_GLOBAL |
private ExecutionStatisticsDynamicBean |
requestMBean |
private ResourcesMBeanGroup |
resourceClassStatsGroup |
private ResponseMXBeanImpl |
responseMXBean |
private ResourcesMBeanGroup |
uriStatsGroup |
Constructor and Description |
---|
MBeanExposer() |
Modifier and Type | Method and Description |
---|---|
(package private) static java.lang.String |
convertToObjectName(java.lang.String name,
boolean isUri)
Convert the resource name to a valid
object name . |
void |
onShutdown(Container container)
Invoke at the
container shut-down. |
void |
onStatistics(MonitoringStatistics statistics)
The method is called when new statistics are available and statistics are passed as an argument.
|
(package private) void |
registerMBean(java.lang.Object mbean,
java.lang.String namePostfix)
Register the MBean with the given postfix name.
|
private java.util.Map<java.lang.String,ResourceStatistics> |
transformToStringKeys(java.util.Map<java.lang.Class<?>,ResourceStatistics> stats) |
private void |
unregisterJerseyMBeans(boolean destroy) |
onReload, onStartup
private static final java.util.logging.Logger LOGGER
private static final java.lang.String PROPERTY_SUBTYPE_GLOBAL
static final java.lang.String PROPERTY_EXECUTION_TIMES_REQUESTS
static final java.lang.String PROPERTY_EXECUTION_TIMES_METHODS
private volatile ExecutionStatisticsDynamicBean requestMBean
private volatile ResponseMXBeanImpl responseMXBean
private volatile ResourcesMBeanGroup uriStatsGroup
private volatile ResourcesMBeanGroup resourceClassStatsGroup
private volatile ExceptionMapperMXBeanImpl exceptionMapperMXBean
private final java.util.concurrent.atomic.AtomicBoolean destroyed
private final java.lang.Object LOCK
private volatile java.lang.String domain
ObjectName
. The code uses this
field also for synchronization purposes. If domain is null
, no bean
has been registered yet.@Inject private javax.inject.Provider<ApplicationInfo> applicationInfoProvider
private java.util.Map<java.lang.String,ResourceStatistics> transformToStringKeys(java.util.Map<java.lang.Class<?>,ResourceStatistics> stats)
static java.lang.String convertToObjectName(java.lang.String name, boolean isUri)
object name
.name
- Resource name.isUri
- true
if the resource name is an URI.void registerMBean(java.lang.Object mbean, java.lang.String namePostfix)
mbean
- MBean to be registered.namePostfix
- Postfix of the object name in the pattern ",[property]=[value]...". Example
",subType=Requests,details=Execution"private void unregisterJerseyMBeans(boolean destroy)
public void onStatistics(MonitoringStatistics statistics)
MonitoringStatisticsListener
onStatistics
in interface MonitoringStatisticsListener
statistics
- Newly calculated monitoring statistics.public void onShutdown(Container container)
ContainerLifecycleListener
container
shut-down. This method is invoked even before
the application is being stopped as a part of reload.onShutdown
in interface ContainerLifecycleListener
onShutdown
in class AbstractContainerLifecycleListener
container
- container that has been shut down.