felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From clem...@apache.org
Subject svn commit: r673689 - /felix/trunk/ipojo/extender.pattern.handler/src/main/java/org/apache/felix/ipojo/handler/extender/ExtenderManager.java
Date Thu, 03 Jul 2008 14:33:21 GMT
Author: clement
Date: Thu Jul  3 07:33:21 2008
New Revision: 673689

URL: http://svn.apache.org/viewvc?rev=673689&view=rev
Log:
Fix the issue Felix-613
The extender pattern handler may not call the callback when a managed bundle is leaving. This
issue is now solved, the handler always call the method regardless the instance state. Indeed,
the instance must release all references on the leaving bundles.

Modified:
    felix/trunk/ipojo/extender.pattern.handler/src/main/java/org/apache/felix/ipojo/handler/extender/ExtenderManager.java

Modified: felix/trunk/ipojo/extender.pattern.handler/src/main/java/org/apache/felix/ipojo/handler/extender/ExtenderManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/extender.pattern.handler/src/main/java/org/apache/felix/ipojo/handler/extender/ExtenderManager.java?rev=673689&r1=673688&r2=673689&view=diff
==============================================================================
--- felix/trunk/ipojo/extender.pattern.handler/src/main/java/org/apache/felix/ipojo/handler/extender/ExtenderManager.java
(original)
+++ felix/trunk/ipojo/extender.pattern.handler/src/main/java/org/apache/felix/ipojo/handler/extender/ExtenderManager.java
Thu Jul  3 07:33:21 2008
@@ -85,9 +85,9 @@
         String header = (String) headers.get(m_extension);
         if (header != null) {
             synchronized (this) {
-                m_bundleSet.add(bundle);
+                m_bundles.add(bundle);
             }
-            try {
+            try { // Call the callback outside the synchronized block.
                 m_onArrival.call(new Object[] {bundle, header});
             } catch (NoSuchMethodException e) {
                 m_handler.error("The onArrival method " + m_onArrival.getMethod() + " does
not exist in the class", e);



Mime
View raw message