Search in sources :

Example 1 with ModelMBeanAssembler

use of org.apache.cxf.management.jmx.export.runtime.ModelMBeanAssembler in project cxf by apache.

the class RMEndpoint method initialise.

void initialise(RMConfiguration config, Conduit c, EndpointReferenceType r, org.apache.cxf.transport.Destination d, Message message) {
    configuration = config;
    conduit = c;
    replyTo = r;
    createServices();
    createEndpoints(d);
    setPolicies(message);
    if (manager != null && manager.getBus() != null) {
        managedEndpoint = new ManagedRMEndpoint(this);
        instrumentationManager = manager.getBus().getExtension(InstrumentationManager.class);
        if (instrumentationManager != null) {
            ModelMBeanAssembler assembler = new ModelMBeanAssembler();
            ModelMBeanInfo mbi = assembler.getModelMbeanInfo(managedEndpoint.getClass());
            MBeanServer mbs = instrumentationManager.getMBeanServer();
            if (mbs == null) {
                LOG.log(Level.WARNING, "MBeanServer not available.");
            } else {
                try {
                    RequiredModelMBean rtMBean = (RequiredModelMBean) mbs.instantiate("javax.management.modelmbean.RequiredModelMBean");
                    rtMBean.setModelMBeanInfo(mbi);
                    try {
                        rtMBean.setManagedResource(managedEndpoint, "ObjectReference");
                    } catch (InvalidTargetObjectTypeException itotex) {
                        throw new JMException(itotex.getMessage());
                    }
                    ObjectName name = managedEndpoint.getObjectName();
                    instrumentationManager.register(rtMBean, name);
                    modelMBean = rtMBean;
                } catch (JMException jmex) {
                    LOG.log(Level.WARNING, "Registering ManagedRMEndpoint failed.", jmex);
                }
            }
        }
    }
}
Also used : ModelMBeanAssembler(org.apache.cxf.management.jmx.export.runtime.ModelMBeanAssembler) JMException(javax.management.JMException) InstrumentationManager(org.apache.cxf.management.InstrumentationManager) InvalidTargetObjectTypeException(javax.management.modelmbean.InvalidTargetObjectTypeException) ModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo) MBeanServer(javax.management.MBeanServer) RequiredModelMBean(javax.management.modelmbean.RequiredModelMBean) ObjectName(javax.management.ObjectName)

Aggregations

JMException (javax.management.JMException)1 MBeanServer (javax.management.MBeanServer)1 ObjectName (javax.management.ObjectName)1 InvalidTargetObjectTypeException (javax.management.modelmbean.InvalidTargetObjectTypeException)1 ModelMBeanInfo (javax.management.modelmbean.ModelMBeanInfo)1 RequiredModelMBean (javax.management.modelmbean.RequiredModelMBean)1 InstrumentationManager (org.apache.cxf.management.InstrumentationManager)1 ModelMBeanAssembler (org.apache.cxf.management.jmx.export.runtime.ModelMBeanAssembler)1