Author: jboynes
Date: Thu Jul 20 10:55:23 2006
New Revision: 424004
URL: http://svn.apache.org/viewvc?rev=424004&view=rev
Log:
have all groovy components in the same deployment context share the same
classloader
Modified:
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
Modified:
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java?rev=424004&r1=424003&r2=424004&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
(original)
+++
incubator/tuscany/java/sca/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
Thu Jul 20 10:55:23 2006
@@ -44,11 +44,16 @@
String name = componentDefinition.getName();
Scope scope = implementation.getComponentType().getLifecycleScope();
- ClassLoader parentCL = deploymentContext.getClassLoader();
- GroovyClassLoader loader = new GroovyClassLoader(parentCL);
+ // get the Groovy classloader for this deployment context
+ GroovyClassLoader groovyClassLoader = (GroovyClassLoader)
deploymentContext.getExtension("groovy.classloader");
+ if (groovyClassLoader == null) {
+ groovyClassLoader = new
GroovyClassLoader(deploymentContext.getClassLoader());
+ deploymentContext.putExtension("groovy.classloader",
groovyClassLoader);
+ }
+
Class<? extends GroovyObject> groovyClass;
try {
- groovyClass = loader.parseClass(script);
+ groovyClass = groovyClassLoader.parseClass(script);
} catch (CompilationFailedException e) {
BuilderConfigException bce = new BuilderConfigException(e);
bce.setIdentifier(name);
@@ -57,7 +62,7 @@
List<PropertyInjector> injectors = Collections.emptyList();
// todo set up injectors
-
+
return new GroovyAtomicComponent(name,
groovyClass,
services,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]