private void registerMBean()

in src/main/java/org/apache/servicemix/executors/impl/ExecutorFactoryImpl.java [232:257]


    private void registerMBean(String id, ExecutorImpl executor, ExecutorConfig config) throws Exception {
        ManagedExecutor mbean = new ManagedExecutor(id, executor, config);
        ObjectName oName = null;
        if (this.managementStrategy != null) {
            // SMX 4 - ManagementStrategy
            if (hasSubType(id)) {
                oName = new javax.management.ObjectName(String.format("%s%s%s%s", OBJECT_NAME_PREFIX, sanitize(getType(id)), OBJECT_NAME_POSTFIX, sanitize(getSubType(id))));
                this.managementStrategy.manageNamedObject(mbean, oName);
            } else {
                oName = new javax.management.ObjectName(String.format("%s%s", OBJECT_NAME_PREFIX, sanitize(id)));
                this.managementStrategy.manageNamedObject(mbean, oName);
            }
        } else if (this.mbeanServer != null) {
            // SMX 3 - MBeanServer
            if (hasSubType(id)) {
                oName = new javax.management.ObjectName(String.format("%s%s%s%s", OBJECT_NAME_PREFIX, sanitize(getType(id)), OBJECT_NAME_POSTFIX, sanitize(getSubType(id))));
                this.mbeanServer.registerMBean(mbean, oName);
            } else {
                oName = new javax.management.ObjectName(String.format("%s%s", OBJECT_NAME_PREFIX, sanitize(id)));
                this.mbeanServer.registerMBean(mbean, oName);
            }
        } else {
            // no possibility to insert the mbean
        }
        this.executorNames.put(mbean.getInternalExecutor(), oName);
    }