blob: 2770b6a1286ba9d164783a0cb3f6f2f62d1b674d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 SAP AG
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial contribution
*******************************************************************************/
package org.eclipse.virgo.nano.management.controller;
import org.eclipse.virgo.nano.core.KernelConfig;
import org.eclipse.virgo.nano.deployer.api.Deployer;
import org.eclipse.virgo.nano.deployer.api.RecoveryMonitor;
import org.eclipse.virgo.nano.management.DefaultManagementExporter;
import org.osgi.framework.BundleContext;
public class NanoManagementController {
private Deployer deployerMBean;
private RecoveryMonitor recoveryMonitorMBean;
private KernelConfig kernelConfig;
private DefaultManagementExporter<Deployer> deployerMBeanExporter;
private DefaultManagementExporter<RecoveryMonitor> recoveryMBeanExporter;
public void activate(BundleContext context) {
String domainProperty = kernelConfig.getProperty("domain");
this.deployerMBeanExporter = new DefaultManagementExporter<Deployer>(deployerMBean, domainProperty + ":category=Control,type=Deployer");
this.deployerMBeanExporter.export();
this.recoveryMBeanExporter = new DefaultManagementExporter<RecoveryMonitor>(recoveryMonitorMBean, domainProperty + ":category=Control,type=RecoveryMonitor");
this.recoveryMBeanExporter.export();
}
public void deactivate(BundleContext context) {
this.deployerMBeanExporter.unExport();
this.recoveryMBeanExporter.unExport();
}
public void bindDeployerMBean(Deployer deployer) {
this.deployerMBean = deployer;
}
public void unbindDeployerMBean(Deployer deployer) {
this.deployerMBean = null;
}
public void bindRecoveryMBean(RecoveryMonitor recovery) {
this.recoveryMonitorMBean = recovery;
}
public void unbindRecoveryMBean(RecoveryMonitor recovery) {
this.recoveryMonitorMBean = null;
}
public void bindKernelConfig(KernelConfig config) {
this.kernelConfig = config;
}
public void unbindKernelConfig(KernelConfig config) {
this.kernelConfig = null;
}
}