You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2019/09/12 05:18:25 UTC
svn commit: r1866827 -
/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java
Author: cziegeler
Date: Thu Sep 12 05:18:24 2019
New Revision: 1866827
URL: http://svn.apache.org/viewvc?rev=1866827&view=rev
Log:
FELIX-6181 : Unget services in connector factory tracker
Modified:
felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java
Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java?rev=1866827&r1=1866826&r2=1866827&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConnectorFactoryTracker.java Thu Sep 12 05:18:24 2019
@@ -50,20 +50,20 @@ public class ConnectorFactoryTracker ext
@Override
public Connector addingService(ServiceReference<ConnectorFactory> reference)
{
- ConnectorFactory factory = (ConnectorFactory) super.addingService(reference);
- Connector connector = factory.createConnector(server);
- try
- {
- this.server.addConnector(connector);
- connector.start();
- return connector;
- }
- catch (Exception e)
- {
- SystemLogger.error("Failed starting connector '" + connector + "' provided by " + reference, e);
+ ConnectorFactory factory = context.getService(reference);
+ if (factory != null) {
+ Connector connector = null;
+ try {
+ connector = factory.createConnector(server);
+ this.server.addConnector(connector);
+ connector.start();
+ return connector;
+ } catch (Exception e) {
+ SystemLogger.error("Failed starting connector '" + connector + "' provided by " + reference, e);
+ }
+ // connector failed to start, don't continue tracking
+ context.ungetService(reference);
}
-
- // connector failed to start, don't continue tracking
return null;
}
@@ -83,5 +83,6 @@ public class ConnectorFactoryTracker ext
}
}
this.server.removeConnector(connector);
+ context.ungetService(reference);
}
}