You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2008/06/06 15:52:00 UTC

svn commit: r663943 - in /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl: AbstractComponentManager.java ImmediateComponentManager.java

Author: fmeschbe
Date: Fri Jun  6 06:52:00 2008
New Revision: 663943

URL: http://svn.apache.org/viewvc?rev=663943&view=rev
Log:
FELIX-601 Reactivation upon reconfiguration happens completeley asynchronous
FELIX-599 add a log message indicating successful wait for the service registration lock

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java?rev=663943&r1=663942&r2=663943&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java Fri Jun  6 06:52:00 2008
@@ -148,7 +148,7 @@
     public final void reconfigure()
     {
         log( LogService.LOG_DEBUG, "Deactivating and Activating to reconfigure", m_componentMetadata, null );
-        reactivate();
+        reactivateAsynchronous();
     }
 
 
@@ -164,11 +164,31 @@
     {
         // synchronously deactivate and schedule activation asynchronously
         deactivate();
-
+        
+        getActivator().schedule( new Runnable()
+        {
+            public void run()
+            {
+                activateInternal();
+            }
+        } );
+    }
+    
+    
+    /**
+     * Cycles this component by deactivating it and - if still satisfied -
+     * activating it again asynchronously.
+     * <p>
+     * This method schedules the deactivation and reactivation for asynchronous
+     * execution.
+     */
+    public final void reactivateAsynchronous()
+    {
         getActivator().schedule( new Runnable()
         {
             public void run()
             {
+                deactivateInternal();
                 activateInternal();
             }
         } );
@@ -739,7 +759,7 @@
         {
             if ( serviceRegistrationLockOwner != null )
             {
-                log( LogService.LOG_INFO, "Waiting for Service Registration owned " + serviceRegistrationLockOwner,
+                log( LogService.LOG_INFO, "Waiting for Service Registration owned by " + serviceRegistrationLockOwner,
                     m_componentMetadata, null );
 
                 int waitGuard = 10;
@@ -764,6 +784,7 @@
                         + serviceRegistrationLockOwner );
                 }
 
+                log( LogService.LOG_INFO, "Service Registration is now ready", m_componentMetadata, null );
             }
 
             serviceRegistrationLockOwner = Thread.currentThread();

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java?rev=663943&r1=663942&r2=663943&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java Fri Jun  6 06:52:00 2008
@@ -392,7 +392,7 @@
         {
             log( LogService.LOG_DEBUG, "Deactivating and Activating to reconfigure from configuration",
                 getComponentMetadata(), null );
-            reactivate();
+            reactivateAsynchronous();
         }
     }
 }