[jboss-osgi-commits] JBoss-OSGI SVN: r93071 - projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Tue Sep 1 09:40:15 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-09-01 09:40:14 -0400 (Tue, 01 Sep 2009)
New Revision: 93071

Modified:
   projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/AbstractCommonServicesActivator.java
   projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/CommonServicesActivator.java
Log:
stop the trackers

Modified: projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/AbstractCommonServicesActivator.java
===================================================================
--- projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/AbstractCommonServicesActivator.java	2009-09-01 13:36:48 UTC (rev 93070)
+++ projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/AbstractCommonServicesActivator.java	2009-09-01 13:40:14 UTC (rev 93071)
@@ -46,7 +46,7 @@
  */
 public abstract class AbstractCommonServicesActivator
 {
-   protected void trackLogReaderService(BundleContext context)
+   protected ServiceTracker trackLogReaderService(BundleContext context)
    {
       ServiceTracker logTracker = new ServiceTracker(context, LogReaderService.class.getName(), null)
       {
@@ -58,7 +58,7 @@
             return logReader;
          }
       };
-      logTracker.open();
+      return logTracker;
    }
 
    protected DeployerService registerDeployerServices(BundleContext context)

Modified: projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/CommonServicesActivator.java
===================================================================
--- projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/CommonServicesActivator.java	2009-09-01 13:36:48 UTC (rev 93070)
+++ projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/CommonServicesActivator.java	2009-09-01 13:40:14 UTC (rev 93071)
@@ -42,20 +42,22 @@
  */
 public class CommonServicesActivator extends AbstractCommonServicesActivator implements BundleActivator
 {
-   private LogService log;
+   private LogServiceTracker logServiceTracker;
+   private ServiceTracker logReaderTracker;
    
    @Override
    protected void logError(String message, Exception ex)
    {
-      log.log(LogService.LOG_ERROR, message, ex);
+      logServiceTracker.log(LogService.LOG_ERROR, message, ex);
    }
 
    public void start(BundleContext context)
    {
-      log = new LogServiceTracker(context);
+      logServiceTracker = new LogServiceTracker(context);
       
       // Track LogReaderService and add/remove LogListener
-      trackLogReaderService(context);
+      logReaderTracker = trackLogReaderService(context);
+      logReaderTracker.open();
       
       // Register the system SystemDeployerService and DeployerServiceDelegate
       DeployerService deployer = registerDeployerServices(context);
@@ -64,6 +66,22 @@
       trackMBeanServer(context, deployer);
    }
 
+   public void stop(BundleContext context)
+   {
+      if (logServiceTracker != null)
+         logServiceTracker.close();
+      
+      if (logReaderTracker != null)
+         logReaderTracker.close();
+      
+      ServiceReference sref = context.getServiceReference(MBeanServer.class.getName());
+      if (sref != null)
+      {
+         MBeanServer mbeanServer = (MBeanServer)context.getService(sref);
+         unregisterDeployerServiceMBean(mbeanServer);
+      }
+   }
+   
    private void trackMBeanServer(BundleContext context, final DeployerService deployer)
    {
       ServiceTracker jmxTracker = new ServiceTracker(context, MBeanServer.class.getName(), null)
@@ -86,14 +104,4 @@
       };
       jmxTracker.open();
    }
-
-   public void stop(BundleContext context)
-   {
-      ServiceReference sref = context.getServiceReference(MBeanServer.class.getName());
-      if (sref != null)
-      {
-         MBeanServer mbeanServer = (MBeanServer)context.getService(sref);
-         unregisterDeployerServiceMBean(mbeanServer);
-      }
-   }
 }
\ No newline at end of file



More information about the jboss-osgi-commits mailing list