|
Spring Integration | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.jmx.support.MBeanRegistrationSupport
org.springframework.jmx.export.MBeanExporter
org.springframework.integration.monitor.IntegrationMBeanExporter
@ManagedResource public class IntegrationMBeanExporter
MBean exporter for Spring Integration components in an existing application. Add an instance of this as a bean definition in the same context as the components you need to monitor and all message channels and message handlers will be exposed.
Channels will report metrics on send and receive (counts, rates, errors) and handlers will report metrics on
execution duration. Channels will be registered under their name (bean id), if explicit, or the last part of their
internal name (e.g. "nullChannel") if registered by the framework. A handler that is attached to an endpoint will be
registered with the endpoint name (bean id) if there is one, otherwise under the name of the input channel. Handler
object names contain a bean key that reports the source of the name: "endpoint" if the name is the
endpoint id; "anonymous" if it is the input channel; and "handler" as a fallback, where the object name is just the
toString() of the handler.
This component is itself an MBean, reporting attributes concerning the names and object names of the channels and
handlers. It doesn't register itself to avoid conflicts with the standard <context:mbean-export/>
from Spring (which should therefore be used any time you need to expose those features).
| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_DOMAIN
|
| Fields inherited from class org.springframework.jmx.export.MBeanExporter |
|---|
AUTODETECT_ALL, AUTODETECT_ASSEMBLER, AUTODETECT_MBEAN, AUTODETECT_NONE |
| Fields inherited from class org.springframework.jmx.support.MBeanRegistrationSupport |
|---|
registeredBeans, REGISTRATION_FAIL_ON_EXISTING, REGISTRATION_IGNORE_EXISTING, REGISTRATION_REPLACE_EXISTING, server |
| Constructor Summary | |
|---|---|
IntegrationMBeanExporter()
|
|
| Method Summary | |
|---|---|
void |
destroy()
|
protected void |
doStart()
|
protected void |
doStop()
|
int |
getActiveHandlerCount()
|
int |
getChannelCount()
|
Statistics |
getChannelErrorRate(java.lang.String name)
|
java.lang.String[] |
getChannelNames()
|
int |
getChannelReceiveCount(java.lang.String name)
|
Statistics |
getChannelSendRate(java.lang.String name)
|
int |
getHandlerCount()
|
Statistics |
getHandlerDuration(java.lang.String name)
|
java.lang.String[] |
getHandlerNames()
|
int |
getPhase()
|
int |
getQueuedMessageCount()
|
int |
getSourceMessageCount(java.lang.String name)
|
boolean |
isAutoStartup()
|
boolean |
isRunning()
|
protected void |
orderlyShutdownCapableComponentsAfter()
|
protected void |
orderlyShutdownCapableComponentsBefore()
|
java.lang.Object |
postProcessAfterInitialization(java.lang.Object bean,
java.lang.String beanName)
|
java.lang.Object |
postProcessBeforeInitialization(java.lang.Object bean,
java.lang.String beanName)
|
protected void |
registerBeans()
|
void |
run()
Perform orderly shutdown - called or executed from stopActiveComponents(boolean, long). |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
|
void |
setBeanClassLoader(java.lang.ClassLoader classLoader)
|
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
|
void |
setComponentNamePatterns(java.lang.String[] componentNamePatterns)
|
void |
setDefaultDomain(java.lang.String domain)
The JMX domain to use for MBeans registered. |
void |
setObjectNameStaticProperties(java.util.Map<java.lang.String,java.lang.String> objectNameStaticProperties)
Static properties that will be added to all object names. |
void |
setShutdownExecutor(java.util.concurrent.Executor shutdownExecutor)
|
void |
start()
|
void |
stop()
|
void |
stop(java.lang.Runnable callback)
|
void |
stopActiveChannels()
|
void |
stopActiveComponents(boolean force,
long howLong)
Shutdown active components. |
void |
stopExecutors()
|
void |
stopMessageSources()
Stops all message sources - may cause interrupts. |
void |
stopNonSpringExecutors()
|
void |
stopSchedulers()
|
| Methods inherited from class org.springframework.jmx.export.MBeanExporter |
|---|
adaptMBeanIfPossible, afterPropertiesSet, createAndConfigureMBean, createModelMBean, getObjectName, isBeanDefinitionLazyInit, isMBean, onRegister, onUnregister, registerBeanNameOrInstance, registerManagedResource, registerManagedResource, setAllowEagerInit, setAssembler, setAutodetect, setAutodetectMode, setAutodetectModeName, setBeans, setEnsureUniqueRuntimeObjectNames, setExcludedBeans, setExposeManagedResourceClassLoader, setListeners, setNamingStrategy, setNotificationListenerMappings, setNotificationListeners, unregisterManagedResource |
| Methods inherited from class org.springframework.jmx.support.MBeanRegistrationSupport |
|---|
doRegister, doUnregister, getRegisteredObjectNames, getServer, onRegister, setRegistrationBehavior, setRegistrationBehaviorName, setServer, unregisterBeans |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_DOMAIN
| Constructor Detail |
|---|
public IntegrationMBeanExporter()
| Method Detail |
|---|
public void setBeanClassLoader(java.lang.ClassLoader classLoader)
setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAwaresetBeanClassLoader in class org.springframework.jmx.export.MBeanExporterpublic void setObjectNameStaticProperties(java.util.Map<java.lang.String,java.lang.String> objectNameStaticProperties)
objectNameStaticProperties - the objectNameStaticProperties to setpublic void setDefaultDomain(java.lang.String domain)
spring.application (which is useful in
SpringSource HQ).
domain - the domain name to setpublic void setComponentNamePatterns(java.lang.String[] componentNamePatterns)
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
throws org.springframework.beans.BeansException
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAwaresetBeanFactory in class org.springframework.jmx.export.MBeanExporterorg.springframework.beans.BeansException
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
setApplicationContext in interface org.springframework.context.ApplicationContextAwareorg.springframework.beans.BeansExceptionpublic void setShutdownExecutor(java.util.concurrent.Executor shutdownExecutor)
public java.lang.Object postProcessAfterInitialization(java.lang.Object bean,
java.lang.String beanName)
throws org.springframework.beans.BeansException
postProcessAfterInitialization in interface org.springframework.beans.factory.config.BeanPostProcessororg.springframework.beans.BeansException
public java.lang.Object postProcessBeforeInitialization(java.lang.Object bean,
java.lang.String beanName)
throws org.springframework.beans.BeansException
postProcessBeforeInitialization in interface org.springframework.beans.factory.config.BeanPostProcessororg.springframework.beans.BeansExceptionpublic final boolean isAutoStartup()
isAutoStartup in interface org.springframework.context.SmartLifecyclepublic final int getPhase()
getPhase in interface org.springframework.context.Phasedpublic final boolean isRunning()
isRunning in interface org.springframework.context.Lifecyclepublic final void start()
start in interface org.springframework.context.Lifecyclepublic final void stop()
stop in interface org.springframework.context.Lifecyclepublic final void stop(java.lang.Runnable callback)
stop in interface org.springframework.context.SmartLifecycleprotected void doStop()
protected void doStart()
public void destroy()
destroy in interface org.springframework.beans.factory.DisposableBeandestroy in class org.springframework.jmx.export.MBeanExporter
@ManagedOperation
public void stopActiveComponents(boolean force,
long howLong)
setShutdownExecutor(java.util.concurrent.Executor)
method. When this is provided, the shutdown will be performed on one
of its threads, instead of the calling thread; thus avoiding
the situation where we will wait for the current thread to terminate.
It is not necessary to supply this executor service if the current thread will not, itself, be shutdown as a result of calling this method.
Note: The supplied executor service will not be shut down.
force - If true, stop the executors with shutdownNow(), canceling
running tasks. Overrides any settings on schedulers/executors. When true
may result in error messages being sent to error channels.howLong - The time to wait in total for all activities to complete
in milliseconds.public void run()
stopActiveComponents(boolean, long).
run in interface java.lang.Runnable@ManagedOperation public void stopMessageSources()
@ManagedOperation public void stopActiveChannels()
@ManagedOperation public void stopSchedulers()
@ManagedOperation public void stopExecutors()
@ManagedOperation public void stopNonSpringExecutors()
protected final void orderlyShutdownCapableComponentsBefore()
protected final void orderlyShutdownCapableComponentsAfter()
@ManagedMetric(metricType=COUNTER,
displayName="MessageChannel Channel Count")
public int getChannelCount()
@ManagedMetric(metricType=COUNTER,
displayName="MessageHandler Handler Count")
public int getHandlerCount()
@ManagedAttribute public java.lang.String[] getHandlerNames()
@ManagedMetric(metricType=GAUGE,
displayName="Active Handler Count")
public int getActiveHandlerCount()
@ManagedMetric(metricType=GAUGE,
displayName="Queued Message Count")
public int getQueuedMessageCount()
@ManagedAttribute public java.lang.String[] getChannelNames()
public Statistics getHandlerDuration(java.lang.String name)
public int getSourceMessageCount(java.lang.String name)
public int getChannelReceiveCount(java.lang.String name)
@ManagedOperation public Statistics getChannelSendRate(java.lang.String name)
public Statistics getChannelErrorRate(java.lang.String name)
protected void registerBeans()
registerBeans in class org.springframework.jmx.export.MBeanExporter
|
Spring Integration | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||