Search in sources :

Example 1 with UnableToRegisterMBeanException

use of org.springframework.jmx.export.UnableToRegisterMBeanException in project spring-integration by spring-projects.

the class IntegrationMBeanExporter method registerBeanInstance.

/**
 * Copy of private method in super class. Needed so we can avoid using the bean factory to extract the bean again,
 * and risk it being a proxy (which it almost certainly is by now).
 *
 * @param bean the bean instance to register
 * @param beanKey the bean name or human readable version if auto-generated
 * @return the JMX object name of the MBean that was registered
 */
private ObjectName registerBeanInstance(Object bean, String beanKey) {
    try {
        ObjectName objectName = getObjectName(bean, beanKey);
        Object mbeanToExpose = null;
        if (isMBean(bean.getClass())) {
            mbeanToExpose = bean;
        } else {
            DynamicMBean adaptedBean = adaptMBeanIfPossible(bean);
            if (adaptedBean != null) {
                mbeanToExpose = adaptedBean;
            }
        }
        if (mbeanToExpose != null) {
            if (logger.isInfoEnabled()) {
                logger.info("Located MBean '" + beanKey + "': registering with JMX server as MBean [" + objectName + "]");
            }
            doRegister(mbeanToExpose, objectName);
        } else {
            if (logger.isInfoEnabled()) {
                logger.info("Located managed bean '" + beanKey + "': registering with JMX server as MBean [" + objectName + "]");
            }
            ModelMBean mbean = createAndConfigureMBean(bean, beanKey);
            doRegister(mbean, objectName);
        // injectNotificationPublisherIfNecessary(bean, mbean, objectName);
        }
        return objectName;
    } catch (JMException e) {
        throw new UnableToRegisterMBeanException("Unable to register MBean [" + bean + "] with key '" + beanKey + "'", e);
    }
}
Also used : UnableToRegisterMBeanException(org.springframework.jmx.export.UnableToRegisterMBeanException) DynamicMBean(javax.management.DynamicMBean) ModelMBean(javax.management.modelmbean.ModelMBean) JMException(javax.management.JMException) ObjectName(javax.management.ObjectName)

Aggregations

DynamicMBean (javax.management.DynamicMBean)1 JMException (javax.management.JMException)1 ObjectName (javax.management.ObjectName)1 ModelMBean (javax.management.modelmbean.ModelMBean)1 UnableToRegisterMBeanException (org.springframework.jmx.export.UnableToRegisterMBeanException)1