You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/02/06 13:51:41 UTC

svn commit: r375267 - in /incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi: audit/ audit/jdbc/ container/ framework/ management/ nmr/ nmr/flow/

Author: gnodet
Date: Mon Feb  6 04:51:38 2006
New Revision: 375267

URL: http://svn.apache.org/viewcvs?rev=375267&view=rev
Log:
Refactor registration / unregistration of service mbeans.

Modified:
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/AbstractAuditor.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/jdbc/JdbcAuditor.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/EnvironmentContext.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/JBIContainer.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AutoDeploymentService.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/DeploymentService.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/InstallationService.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/Registry.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseSystemService.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/Broker.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/AbstractFlow.java

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/AbstractAuditor.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/AbstractAuditor.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/AbstractAuditor.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/AbstractAuditor.java Mon Feb  6 04:51:38 2006
@@ -41,7 +41,6 @@
 
     protected final Log log = LogFactory.getLog(getClass());
     
-    protected JBIContainer container;
     private boolean asContainerListener = true;
 
     public JBIContainer getContainer() {
@@ -50,6 +49,10 @@
 
     public void setContainer(JBIContainer container) {
         this.container = container;
+    }
+    
+    protected Class getServiceMBean() {
+        return AuditorMBean.class;
     }
 
     /* (non-Javadoc)

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/jdbc/JdbcAuditor.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/jdbc/JdbcAuditor.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/jdbc/JdbcAuditor.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/audit/jdbc/JdbcAuditor.java Mon Feb  6 04:51:38 2006
@@ -92,14 +92,11 @@
         } finally {
             is.close();
         }
+        platform.createTables(database, false, true);
+        init(getContainer());
         start();
-        container.getManagementContext().registerSystemService(this, AuditorMBean.class);
     }
 
-    public void doStart() throws javax.jbi.JBIException {
-        platform.createTables(database, false, true);
-    }
-    
     public void onMessageExchange(MessageExchange exchange) throws MessagingException {
         if (exchange instanceof MessageExchangeImpl == false) {
             throw new IllegalArgumentException("exchange should be a MessageExchangeImpl");

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/EnvironmentContext.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/EnvironmentContext.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/EnvironmentContext.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/EnvironmentContext.java Mon Feb  6 04:51:38 2006
@@ -58,7 +58,6 @@
     private boolean dumpStats = false;
     private Timer statsTimer;
     private TimerTask timerTask;
-    private JBIContainer container;
 
 
     /**
@@ -153,10 +152,13 @@
      * @exception javax.jbi.JBIException if the root directory informed could not be created or it is not a directory
      */
     public void init(JBIContainer container, String rootDirPath) throws JBIException {
-        this.container = container;
+        super.init(container);
         jbiRootDir = new File(rootDirPath, container.getName());
         buildDirectoryStructure();
-        container.getManagementContext().registerSystemService(this, EnvironmentContextMBean.class);
+    }
+
+    protected Class getServiceMBean() {
+        return EnvironmentContextMBean.class;
     }
 
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/JBIContainer.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/JBIContainer.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/JBIContainer.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/container/JBIContainer.java Mon Feb  6 04:51:38 2006
@@ -55,7 +55,6 @@
 import org.apache.servicemix.components.util.PojoSupport;
 import org.apache.servicemix.jbi.framework.AutoDeploymentService;
 import org.apache.servicemix.jbi.framework.ComponentContextImpl;
-import org.apache.servicemix.jbi.framework.ComponentMBean;
 import org.apache.servicemix.jbi.framework.ComponentNameSpace;
 import org.apache.servicemix.jbi.framework.DeploymentService;
 import org.apache.servicemix.jbi.framework.InstallationService;

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AdminCommandsService.java Mon Feb  6 04:51:38 2006
@@ -38,26 +38,9 @@
     public String getDescription() {
         return "Admin Commands Service";
     }
-
-    /**
-     * Initialize the Service
-     *
-     * @param container
-     * @throws JBIException
-     * @throws DeploymentException
-     */
-    public void init(JBIContainer container) throws JBIException {
-        this.container = container;
-        container.getManagementContext().registerSystemService(this, AdminCommandsServiceMBean.class);
-    }
-
-    public void start() throws javax.jbi.JBIException {
-        super.start();
-    }
-
-    public void shutDown() throws JBIException {
-        super.shutDown();
-        container.getManagementContext().unregisterMBean(this);
+    
+    protected Class getServiceMBean() {
+        return AdminCommandsServiceMBean.class;
     }
 
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AutoDeploymentService.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AutoDeploymentService.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AutoDeploymentService.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/AutoDeploymentService.java Mon Feb  6 04:51:38 2006
@@ -62,7 +62,6 @@
 	
     private static final Log log = LogFactory.getLog(AutoDeploymentService.class);
     private static final String MONITOR_STATE_FILE = ".state.xml";
-    private JBIContainer container;
     private EnvironmentContext environmentContext;
     protected static final String DESCRIPTOR_FILE = "META-INF/jbi.xml";
     private DeploymentService deploymentService;
@@ -157,8 +156,8 @@
      * @param container
      * @throws JBIException
      */
-    public void init(JBIContainer container) throws JBIException{
-        this.container=container;
+    public void init(JBIContainer container) throws JBIException {
+        super.init(container);
         this.environmentContext=container.getEnvironmentContext();
         this.installationService=container.getInstallationService();
         this.deploymentService=container.getDeploymentService();
@@ -166,24 +165,11 @@
         if(environmentContext.getTmpDir()!=null){
             FileUtil.deleteFile(environmentContext.getTmpDir());
         }
-        
         initializeFileMaps();
-        container.getManagementContext().registerSystemService(this, AutoDeploymentServiceMBean.class);
     }
-
-    /**
-     * Shut down the item. The releases resources, preparatory to uninstallation.
-     * 
-     * @exception javax.jbi.JBIException
-     *                if the item fails to shut down.
-     */
-    public void shutDown() throws javax.jbi.JBIException{
-        super.shutDown();
-        stop();
-        if(statsTimer!=null){
-            statsTimer.cancel();
-        }
-        container.getManagementContext().unregisterMBean(this);
+    
+    protected Class getServiceMBean() {
+        return AutoDeploymentServiceMBean.class;
     }
 
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/DeploymentService.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/DeploymentService.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/DeploymentService.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/DeploymentService.java Mon Feb  6 04:51:38 2006
@@ -53,8 +53,8 @@
  * @version $Revision$
  */
 public class DeploymentService extends BaseSystemService implements DeploymentServiceMBean {
+    
     private static final Log log = LogFactory.getLog(DeploymentService.class);
-    private JBIContainer container;
     private EnvironmentContext environmentContext;
     
 
@@ -66,19 +66,17 @@
      * @throws DeploymentException
      */
     public void init(JBIContainer container) throws JBIException {
-        this.container = container;
+        super.init(container);
         this.environmentContext = container.getEnvironmentContext();
-        container.getManagementContext().registerSystemService(this, DeploymentServiceMBean.class);
+    }
+    
+    protected Class getServiceMBean() {
+        return DeploymentServiceMBean.class;
     }
 
     public void start() throws javax.jbi.JBIException {
         buildState();
         super.start();
-    }
-    
-    public void shutDown() throws JBIException {
-        super.shutDown();
-        container.getManagementContext().unregisterMBean(this);
     }
     
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/InstallationService.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/InstallationService.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/InstallationService.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/InstallationService.java Mon Feb  6 04:51:38 2006
@@ -54,7 +54,6 @@
  */
 public class InstallationService extends BaseSystemService implements FrameworkInstallationService{
     private static final Log log=LogFactory.getLog(InstallationService.class);
-    private JBIContainer container;
     private EnvironmentContext environmentContext;
     private ManagementContext managementContext;
     private ClassLoaderService classLoaderService=new ClassLoaderService();
@@ -270,12 +269,15 @@
      * @throws JBIException
      * @throws DeploymentException
      */
-    public void init(JBIContainer container) throws JBIException{
-        this.container=container;
-        this.environmentContext=container.getEnvironmentContext();
-        this.managementContext=container.getManagementContext();
+    public void init(JBIContainer container) throws JBIException {
+        super.init(container);
+        this.environmentContext = container.getEnvironmentContext();
+        this.managementContext = container.getManagementContext();
         buildState();
-        container.getManagementContext().registerSystemService(this,FrameworkInstallationService.class);
+    }
+    
+    protected Class getServiceMBean() {
+        return FrameworkInstallationService.class;
     }
 
     /**
@@ -621,8 +623,4 @@
         return context;
     }
 
-    public void shutDown() throws JBIException{
-        super.shutDown();
-        container.getManagementContext().unregisterMBean(this);
-    }
 }

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/Registry.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/Registry.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/Registry.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/framework/Registry.java Mon Feb  6 04:51:38 2006
@@ -50,7 +50,6 @@
  */
 public class Registry extends BaseSystemService implements RegistryMBean {
     
-    private JBIContainer container;
     private ComponentRegistry componentRegistry;
     private EndpointRegistry endpointRegistry;
     private SubscriptionRegistry subscriptionRegistry;
@@ -83,10 +82,13 @@
      * @throws JBIException
      */
     public void init(JBIContainer container) throws JBIException {
-        this.container = container;
+        super.init(container);
         this.componentRegistry.setContainerName(container.getName());
         this.subscriptionRegistry.init(this);
-        container.getManagementContext().registerSystemService(this, RegistryMBean.class);
+    }
+    
+    protected Class getServiceMBean() {
+        return RegistryMBean.class;
     }
 
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseSystemService.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseSystemService.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseSystemService.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/BaseSystemService.java Mon Feb  6 04:51:38 2006
@@ -15,8 +15,14 @@
  */
 package org.apache.servicemix.jbi.management;
 
+import javax.jbi.JBIException;
+
+import org.apache.servicemix.jbi.container.JBIContainer;
+
 public abstract class BaseSystemService extends BaseLifeCycle {
 
+    protected JBIContainer container;
+    
     /**
      * Get the name of the item
      * @return the name
@@ -36,6 +42,22 @@
      */
    public String getType() {
         return "SystemService";
-    }
+   }
+   
+   public void init(JBIContainer container) throws JBIException {
+       this.container = container;
+       container.getManagementContext().registerSystemService(this, getServiceMBean());
 
+   }
+   
+   public void shutDown() throws JBIException {
+       stop();
+       super.shutDown();
+       if (container != null && container.getManagementContext() != null) {
+           container.getManagementContext().unregisterMBean(this);
+       }
+   }
+   
+   protected abstract Class getServiceMBean();
+   
 }

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/management/ManagementContext.java Mon Feb  6 04:51:38 2006
@@ -49,7 +49,6 @@
     public static final String DEFAULT_CONNECTOR_PATH = "/jmxrmi";
     public static final int DEFAULT_CONNECTOR_PORT = 1099;
     private final static Log log = LogFactory.getLog(ManagementContext.class);
-    private JBIContainer container;
     private Map beanMap = new ConcurrentHashMap();
     protected Map systemServices = new ConcurrentHashMap();
     private MBeanServerContext mbeanServerContext = new MBeanServerContext();
@@ -136,7 +135,6 @@
     
      */
     public void init(JBIContainer container, MBeanServer server) throws JBIException  {
-        this.container = container;
         //TODO - when activemq is up to date
         //mbeanServerContext.setMBeanServer(server);
         try{
@@ -145,7 +143,11 @@
            log.error("Failed to start mbeanServerContext",e);
         }
         this.executors = Executors.newCachedThreadPool();
-        registerSystemService(this, ManagementContextMBean.class);
+        super.init(container);
+    }
+    
+    protected Class getServiceMBean() {
+        return ManagementContextMBean.class;
     }
 
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/Broker.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/Broker.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/Broker.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/Broker.java Mon Feb  6 04:51:38 2006
@@ -58,7 +58,7 @@
  * @version $Revision$
  */
 public class Broker extends BaseSystemService implements BrokerMBean {
-    private JBIContainer container;
+
     private Registry registry;
     private String flowName = "seda";
     private String subscriptionFlowName = null;
@@ -116,8 +116,8 @@
      * @param container
      * @throws JBIException
      */
-    public void init(JBIContainer container) throws JBIException{
-        this.container = container;
+    public void init(JBIContainer container) throws JBIException {
+        super.init(container);
         this.workManager = container.getWorkManager();
         this.registry = container.getRegistry();
         if(this.flow == null){
@@ -133,9 +133,12 @@
     	}
     	subscriptionManager.init(this, registry);
         if (flow != subscriptionManager.getFlow()) {
-        	subscriptionManager.getFlow().init(this, "subscription");
+        	subscriptionManager.getFlow().init(this, "Subscription");
         }
-        container.getManagementContext().registerSystemService(this, BrokerMBean.class);
+    }
+    
+    protected Class getServiceMBean() {
+        return BrokerMBean.class;
     }
 
     /**

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/AbstractFlow.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/AbstractFlow.java?rev=375267&r1=375266&r2=375267&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/AbstractFlow.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/AbstractFlow.java Mon Feb  6 04:51:38 2006
@@ -61,9 +61,6 @@
 		// register self with the management context
         ObjectName objectName = broker.getManagementContext().createObjectName(this);
         try {
-        	if (subType != null) {
-        		objectName = new ObjectName(objectName + ",subtype=" + subType);
-        	}
             broker.getManagementContext().registerMBean(objectName, this, LifeCycleMBean.class);
         }
         catch (JMException e) {