summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/extensibility
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2008-09-03 00:48:29 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2008-09-03 00:48:29 +0000
commitcc8967d7638d980d02cb44be647f76d979b02071 (patch)
tree7983a7c40061e5c9bde526a64d6d749f4b49886d /java/sca/modules/extensibility
parent19bc9a9877d710e9e85385915e4628df876af4db (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.java21
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");
}