Class MBeanExposer
- java.lang.Object
-
- org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener
-
- org.glassfish.jersey.server.internal.monitoring.jmx.MBeanExposer
-
- All Implemented Interfaces:
MonitoringStatisticsListener,ContainerLifecycleListener
public class MBeanExposer extends AbstractContainerLifecycleListener implements MonitoringStatisticsListener
The main exposer class of Jersey JMX MBeans. The class creates MBeans and contains methods that register and unregister MBeans.
-
-
Field Summary
Fields Modifier and Type Field Description private javax.inject.Provider<ApplicationInfo>applicationInfoProviderprivate java.util.concurrent.atomic.AtomicBooleandestroyedprivate java.lang.StringdomainName of domain that will prefix mbeansObjectName.private ExceptionMapperMXBeanImplexceptionMapperMXBeanprivate java.lang.ObjectLOCKprivate static java.util.logging.LoggerLOGGER(package private) static java.lang.StringPROPERTY_EXECUTION_TIMES_METHODS(package private) static java.lang.StringPROPERTY_EXECUTION_TIMES_REQUESTSprivate static java.lang.StringPROPERTY_SUBTYPE_GLOBALprivate ExecutionStatisticsDynamicBeanrequestMBeanprivate ResourcesMBeanGroupresourceClassStatsGroupprivate ResponseMXBeanImplresponseMXBeanprivate ResourcesMBeanGroupuriStatsGroup
-
Constructor Summary
Constructors Constructor Description MBeanExposer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.StringconvertToObjectName(java.lang.String name, boolean isUri)Convert the resource name to a validobject name.voidonShutdown(Container container)Invoke at thecontainershut-down.voidonStatistics(MonitoringStatistics statistics)The method is called when new statistics are available and statistics are passed as an argument.(package private) voidregisterMBean(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 voidunregisterJerseyMBeans(boolean destroy)-
Methods inherited from class org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener
onReload, onStartup
-
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
PROPERTY_SUBTYPE_GLOBAL
private static final java.lang.String PROPERTY_SUBTYPE_GLOBAL
- See Also:
- Constant Field Values
-
PROPERTY_EXECUTION_TIMES_REQUESTS
static final java.lang.String PROPERTY_EXECUTION_TIMES_REQUESTS
- See Also:
- Constant Field Values
-
PROPERTY_EXECUTION_TIMES_METHODS
static final java.lang.String PROPERTY_EXECUTION_TIMES_METHODS
- See Also:
- Constant Field Values
-
requestMBean
private volatile ExecutionStatisticsDynamicBean requestMBean
-
responseMXBean
private volatile ResponseMXBeanImpl responseMXBean
-
uriStatsGroup
private volatile ResourcesMBeanGroup uriStatsGroup
-
resourceClassStatsGroup
private volatile ResourcesMBeanGroup resourceClassStatsGroup
-
exceptionMapperMXBean
private volatile ExceptionMapperMXBeanImpl exceptionMapperMXBean
-
destroyed
private final java.util.concurrent.atomic.AtomicBoolean destroyed
-
LOCK
private final java.lang.Object LOCK
-
domain
private volatile java.lang.String domain
Name of domain that will prefix mbeansObjectName. The code uses this field also for synchronization purposes. If domain isnull, no bean has been registered yet.
-
applicationInfoProvider
@Inject private javax.inject.Provider<ApplicationInfo> applicationInfoProvider
-
-
Method Detail
-
transformToStringKeys
private java.util.Map<java.lang.String,ResourceStatistics> transformToStringKeys(java.util.Map<java.lang.Class<?>,ResourceStatistics> stats)
-
convertToObjectName
static java.lang.String convertToObjectName(java.lang.String name, boolean isUri)Convert the resource name to a validobject name.- Parameters:
name- Resource name.isUri-trueif the resource name is an URI.- Returns:
- Converted valid object name.
-
registerMBean
void registerMBean(java.lang.Object mbean, java.lang.String namePostfix)Register the MBean with the given postfix name.- Parameters:
mbean- MBean to be registered.namePostfix- Postfix of the object name in the pattern ",[property]=[value]...". Example ",subType=Requests,details=Execution"
-
unregisterJerseyMBeans
private void unregisterJerseyMBeans(boolean destroy)
-
onStatistics
public void onStatistics(MonitoringStatistics statistics)
Description copied from interface:MonitoringStatisticsListenerThe method is called when new statistics are available and statistics are passed as an argument.- Specified by:
onStatisticsin interfaceMonitoringStatisticsListener- Parameters:
statistics- Newly calculated monitoring statistics.
-
onShutdown
public void onShutdown(Container container)
Description copied from interface:ContainerLifecycleListenerInvoke at thecontainershut-down. This method is invoked even before the application is being stopped as a part of reload.- Specified by:
onShutdownin interfaceContainerLifecycleListener- Overrides:
onShutdownin classAbstractContainerLifecycleListener- Parameters:
container- container that has been shut down.
-
-