From 3ab338ad0b521192e72a4e1da2e6fae0f45b38ae Mon Sep 17 00:00:00 2001 From: rfeng Date: Wed, 28 Oct 2009 19:29:50 +0000 Subject: Pass ServiceRegistry via extensionPointRegistry to remove static references git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@830738 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java | 1 + .../sca/extensibility/equinox/OSGiExtensionPointRegistry.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'java/sca/modules/extensibility-equinox/src/main') diff --git a/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java b/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java index a9a0d6d3f6..4ccaf57c19 100644 --- a/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java +++ b/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java @@ -38,6 +38,7 @@ public class EquinoxServiceDiscoveryActivator implements BundleActivator { } public void stop(BundleContext context) throws Exception { + ServiceDiscovery.getInstance().setServiceDiscoverer(null); } } diff --git a/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java b/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java index bfa98ad725..51cb58f3b3 100644 --- a/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java +++ b/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java @@ -28,6 +28,7 @@ import java.util.concurrent.ConcurrentHashMap; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.LifeCycleListener; import org.apache.tuscany.sca.extensibility.ServiceDeclaration; +import org.apache.tuscany.sca.extensibility.ServiceDiscovery; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.BundleException; @@ -42,7 +43,7 @@ public class OSGiExtensionPointRegistry extends DefaultExtensionPointRegistry { private BundleContext bundleContext; public OSGiExtensionPointRegistry(BundleContext bundleContext) { - super(); + super(ServiceDiscovery.getInstance(new EquinoxServiceDiscoverer(bundleContext))); this.bundleContext = bundleContext; } @@ -102,7 +103,7 @@ public class OSGiExtensionPointRegistry extends DefaultExtensionPointRegistry { } @Override - public void stop() { + public synchronized void stop() { // Get a unique map as an extension point may exist in the map by different keys Map map = new IdentityHashMap(); for (ServiceRegistration reg : services.values()) { -- cgit v1.2.3