diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-03 00:48:29 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-03 00:48:29 +0000 |
commit | cc8967d7638d980d02cb44be647f76d979b02071 (patch) | |
tree | 7983a7c40061e5c9bde526a64d6d749f4b49886d /java/sca/modules/extensibility | |
parent | 19bc9a9877d710e9e85385915e4628df876af4db (diff) |
Make a few fields non-static to ServiceDiscovery
Enable Equinox launcher to load tuscany jars
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@691447 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/extensibility')
-rw-r--r-- | java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java b/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java index 2c2016d7e3..8ad7009f47 100644 --- a/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java +++ b/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java @@ -38,9 +38,9 @@ import java.util.logging.Logger; public class ServiceDiscovery { private static final Logger logger = Logger.getLogger(ServiceDiscovery.class.getName()); - private final static ServiceDiscovery instance = new ServiceDiscovery(); + private final static ServiceDiscovery INSTANCE = new ServiceDiscovery(); - private static ServiceDiscoverer discoverer; + private ServiceDiscoverer discoverer; private Set<ClassLoader> registeredClassLoaders = new HashSet<ClassLoader>(); /** @@ -50,17 +50,28 @@ public class ServiceDiscovery { * @return */ public static ServiceDiscovery getInstance() { - return instance; + return INSTANCE; } - public static ServiceDiscoverer getServiceDiscoverer() { + /** + * Get a classloader-based service discovery instance + * @param classLoader + * @return + */ + public static ServiceDiscovery getInstance(ClassLoader classLoader) { + ServiceDiscovery discovery = new ServiceDiscovery(); + discovery.setServiceDiscoverer(new ClasspathServiceDiscoverer(classLoader)); + return discovery; + } + + public ServiceDiscoverer getServiceDiscoverer() { if (discoverer == null) { discoverer = new ClasspathServiceDiscoverer(); } return discoverer; } - public static void setServiceDiscoverer(ServiceDiscoverer sd) { + public void setServiceDiscoverer(ServiceDiscoverer sd) { if (discoverer != null) { throw new IllegalStateException("The ServiceDiscoverer cannot be reset"); } |