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 2007/11/28 18:50:27 UTC
svn commit: r599073 -
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java
Author: fmeschbe
Date: Wed Nov 28 09:50:22 2007
New Revision: 599073
URL: http://svn.apache.org/viewvc?rev=599073&view=rev
Log:
FELIX-425 Decrement service counter when a service is removed whose
target filter matches regardless of whether the service is actually
bound or not
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java?rev=599073&r1=599072&r2=599073&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java Wed Nov 28 09:50:22 2007
@@ -217,14 +217,24 @@
*/
private void serviceRemoved( ServiceReference reference )
{
- // check whether we are bound to that service, do nothing if not
- if ( getBoundService( reference ) == null )
+ // ignore the service, if it does not match the target filter
+ if ( !targetFilterMatch( reference ) )
{
+ m_componentManager.getActivator().log( LogService.LOG_DEBUG,
+ "Dependency Manager: Ignoring removed Service for " + m_dependencyMetadata.getName()
+ + " : does not match target filter " + getTarget(), m_componentManager.getComponentMetadata(),
+ null );
return;
}
// decrement the number of services
m_size--;
+
+ // check whether we are bound to that service, do nothing if not
+ if ( getBoundService( reference ) == null )
+ {
+ return;
+ }
if ( handleServiceEvent() )
{