public class JmxMonitoredMap<K,V> extends java.util.concurrent.ConcurrentHashMap<java.lang.String,SolrInfoMBean>
Responsible for finding (or creating) a MBeanServer from given configuration and registering all SolrInfoMBean objects with JMX.
Please see http://wiki.apache.org/solr/SolrJmx for instructions on usage and configuration
SolrConfig.JmxConfiguration
,
Serialized FormModifier and Type | Class and Description |
---|---|
(package private) static class |
JmxMonitoredMap.SolrDynamicMBean
DynamicMBean is used to dynamically expose all SolrInfoMBean
getStatistics() NameList keys as String getters.
|
java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
coreHashCode |
private java.lang.String |
jmxRootName |
private static org.slf4j.Logger |
LOG |
private javax.management.MBeanServer |
server |
Constructor and Description |
---|
JmxMonitoredMap(java.lang.String coreName,
java.lang.String coreHashCode,
SolrConfig.JmxConfiguration jmxConfig) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears the map and unregisters all SolrInfoMBeans in the map from
MBeanServer
|
private javax.management.ObjectName |
getObjectName(java.lang.String key,
SolrInfoMBean infoBean) |
SolrInfoMBean |
put(java.lang.String key,
SolrInfoMBean infoBean)
Adds the SolrInfoMBean to the map and registers the given SolrInfoMBean
instance with the MBeanServer defined for this core.
|
SolrInfoMBean |
remove(java.lang.Object key)
Removes the SolrInfoMBean object at the given key and unregisters it from
MBeanServer
|
private void |
unregister(java.lang.String key,
SolrInfoMBean infoBean) |
compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, forEach, forEach, forEachEntry, forEachEntry, forEachKey, forEachKey, forEachValue, forEachValue, get, getOrDefault, hashCode, isEmpty, keys, keySet, keySet, mappingCount, merge, newKeySet, newKeySet, putAll, putIfAbsent, reduce, reduceEntries, reduceEntries, reduceEntriesToDouble, reduceEntriesToInt, reduceEntriesToLong, reduceKeys, reduceKeys, reduceKeysToDouble, reduceKeysToInt, reduceKeysToLong, reduceToDouble, reduceToInt, reduceToLong, reduceValues, reduceValues, reduceValuesToDouble, reduceValuesToInt, reduceValuesToLong, remove, replace, replace, replaceAll, search, searchEntries, searchKeys, searchValues, size, toString, values
private static final org.slf4j.Logger LOG
private javax.management.MBeanServer server
private java.lang.String jmxRootName
private java.lang.String coreHashCode
public JmxMonitoredMap(java.lang.String coreName, java.lang.String coreHashCode, SolrConfig.JmxConfiguration jmxConfig)
public void clear()
clear
in interface java.util.Map<java.lang.String,SolrInfoMBean>
clear
in class java.util.concurrent.ConcurrentHashMap<java.lang.String,SolrInfoMBean>
public SolrInfoMBean put(java.lang.String key, SolrInfoMBean infoBean)
put
in interface java.util.Map<java.lang.String,SolrInfoMBean>
put
in class java.util.concurrent.ConcurrentHashMap<java.lang.String,SolrInfoMBean>
key
- the JMX type name for this SolrInfoMBeaninfoBean
- the SolrInfoMBean instance to be registeredpublic SolrInfoMBean remove(java.lang.Object key)
remove
in interface java.util.Map<java.lang.String,SolrInfoMBean>
remove
in class java.util.concurrent.ConcurrentHashMap<java.lang.String,SolrInfoMBean>
key
- the JMX type name for this SolrInfoMBeanprivate void unregister(java.lang.String key, SolrInfoMBean infoBean)
private javax.management.ObjectName getObjectName(java.lang.String key, SolrInfoMBean infoBean) throws javax.management.MalformedObjectNameException
javax.management.MalformedObjectNameException