Top Description Fields Constructors Methods
org.springframework.jmx.export.assembler

public Class MethodNameBasedMBeanInfoAssembler

extends AbstractConfigurableMBeanInfoAssembler
Class Inheritance
Imports
java.lang.reflect.Method, java.util.Enumeration, .HashMap, .Map, .Properties, .Set, org.springframework.lang.Nullable, org.springframework.util.StringUtils

Subclass of AbstractReflectiveMBeanInfoAssembler that allows to specify method names to be exposed as MBean operations and attributes. JavaBean getters and setters will automatically be exposed as JMX attributes.

You can supply an array of method names via the managedMethods property. If you have multiple beans and you wish each bean to use a different set of method names, then you can map bean keys (that is the name used to pass the bean to the MBeanExporter) to a list of method names using the methodMappings property.

If you specify values for both methodMappings and managedMethods, Spring will attempt to find method names in the mappings first. If no method names for the bean are found, it will use the method names defined by managedMethods.

Author
Juergen Hoeller
Since
1.2
See Also
setManagedMethods, setMethodMappings, InterfaceBasedMBeanInfoAssembler, SimpleReflectiveMBeanInfoAssembler, MethodExclusionMBeanInfoAssembler, org.springframework.jmx.export.MBeanExporter

Field Summary

Modifier and TypeField and Description
private Set<String>
managedMethods

Stores the set of method names to use for creating the management interface.

private Map<String, Set<String>>
methodMappings

Stores the mappings of bean keys to an array of method names.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected boolean
includeOperation(Method
the operation method
method
,
String
the key associated with the MBean in the beans map of the MBeanExporter
beanKey
)

Implements abstract org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeOperation.

Allows subclasses to vote on the inclusion of a particular operation.
protected boolean
includeReadAttribute(Method
the accessor Method
method
,
String
the key associated with the MBean in the beans map of the MBeanExporter
beanKey
)

Implements abstract org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeReadAttribute.

Allows subclasses to vote on the inclusion of a particular attribute accessor.
protected boolean
includeWriteAttribute(Method
the mutator Method.
method
,
String
the key associated with the MBean in the beans map of the MBeanExporter
beanKey
)

Implements abstract org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeWriteAttribute.

Allows subclasses to vote on the inclusion of a particular attribute mutator.
protected boolean
isMatch(Method method, String beanKey)

public void
setManagedMethods(String...
an array of method names indicating the methods to use
methodNames
)

Set the array of method names to use for creating the management info.

public void
setMethodMappings(Properties
the mappings of bean keys to method names
mappings
)

Set the mappings of bean keys to a comma-separated list of method names.

Inherited from org.springframework.jmx.export.assembler.AbstractConfigurableMBeanInfoAssembler:
getNotificationInfosetNotificationInfoMappingssetNotificationInfos

Field Detail

managedMethodsback to summary
private Set<String> managedMethods

Stores the set of method names to use for creating the management interface.

Annotations
@Nullable
methodMappingsback to summary
private Map<String, Set<String>> methodMappings

Stores the mappings of bean keys to an array of method names.

Annotations
@Nullable

Constructor Detail

MethodNameBasedMBeanInfoAssemblerback to summary
public MethodNameBasedMBeanInfoAssembler()

Method Detail

includeOperationback to summary
protected boolean includeOperation(Method method, String beanKey)

Implements abstract org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeOperation.

Doc from org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeOperation.

Allows subclasses to vote on the inclusion of a particular operation.

Parameters
method:Method

the operation method

beanKey:String

the key associated with the MBean in the beans map of the MBeanExporter

Returns:boolean

whether the operation should be included in the management interface

Annotations
@Override
includeReadAttributeback to summary
protected boolean includeReadAttribute(Method method, String beanKey)

Implements abstract org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeReadAttribute.

Doc from org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeReadAttribute.

Allows subclasses to vote on the inclusion of a particular attribute accessor.

Parameters
method:Method

the accessor Method

beanKey:String

the key associated with the MBean in the beans map of the MBeanExporter

Returns:boolean

true if the accessor should be included in the management interface, otherwise false

Annotations
@Override
includeWriteAttributeback to summary
protected boolean includeWriteAttribute(Method method, String beanKey)

Implements abstract org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeWriteAttribute.

Doc from org.springframework.jmx.export.assembler.AbstractReflectiveMBeanInfoAssembler.includeWriteAttribute.

Allows subclasses to vote on the inclusion of a particular attribute mutator.

Parameters
method:Method

the mutator Method.

beanKey:String

the key associated with the MBean in the beans map of the MBeanExporter

Returns:boolean

true if the mutator should be included in the management interface, otherwise false

Annotations
@Override
isMatchback to summary
protected boolean isMatch(Method method, String beanKey)
setManagedMethodsback to summary
public void setManagedMethods(String... methodNames)

Set the array of method names to use for creating the management info. These method names will be used for a bean if no entry corresponding to that bean is found in the methodMappings property.

Parameters
methodNames:String[]

an array of method names indicating the methods to use

See Also
setMethodMappings
setMethodMappingsback to summary
public void setMethodMappings(Properties mappings)

Set the mappings of bean keys to a comma-separated list of method names. The property key should match the bean key and the property value should match the list of method names. When searching for method names for a bean, Spring will check these mappings first.

Parameters
mappings:Properties

the mappings of bean keys to method names