diff options
Diffstat (limited to 'java/sca/modules/extensibility/src/main')
3 files changed, 13 insertions, 0 deletions
diff --git a/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java b/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java index 3d733d042e..26ede88214 100644 --- a/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java +++ b/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java @@ -121,6 +121,10 @@ public class ContextClassLoaderServiceDiscoverer implements ServiceDiscoverer { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); this.classLoaderReference = new WeakReference<ClassLoader>(classLoader); } + + public ClassLoader getContextClassLoader() { + return classLoaderReference.get(); + } private List<URL> getResources(final String name) throws IOException { try { diff --git a/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java b/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java index 9b939e8228..aebd6cd3de 100644 --- a/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java +++ b/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java @@ -46,4 +46,9 @@ public interface ServiceDiscoverer { */ public ServiceDeclaration getServiceDeclaration(String name) throws IOException; + /** + * Get a classloader that can be used for thread context loader + * @return A classloader that can provide access to public classes and resources + */ + public ClassLoader getContextClassLoader(); } 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 ec95aba7e1..70274752e4 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 @@ -182,4 +182,8 @@ public final class ServiceDiscovery implements ServiceDiscoverer { } } + public ClassLoader getContextClassLoader() { + return discoverer.getContextClassLoader(); + } + } |