Ok, I am being hit by this problem again, despite the temporary hack that tries the old class loader in LoaderUtil if the current class loader does not work. Furthermore, the missing resource is not an app resource any more. I am not really familiar with how class loaders are being handled. Trying to chase this down is probably going to take me more time than whoever may be more familiar with class loader set up. I am trying to verify my latest inner.composite sample, which was running previous to doing an update (which in turn I did to be able to post the patch including this latest inner.composite sample) and this is getting in the way.

Here's the actual exception I am getting:

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running innercomposite.InnerCompositeTestCase
Trying old class loader
Still not found
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.551 sec <<< FA
ILURE!
test(innercomposite.InnerCompositeTestCase) Time elapsed: 0.521 sec <<< ERROR!

org.apache.tuscany.spi.loader.MissingResourceException: org.apache.tuscany.core.
idl.java.InterfaceJavaIntrospectorImpl
Context stack trace: [tuscany.system][interfaceJava.introspector]
at org.apache.tuscany.spi.loader.LoaderUtil.loadClass(LoaderUtil.java:75
)
at org.apache.tuscany.core.implementation.system.loader.SystemImplementa
tionLoader.load(SystemImplementationLoader.java:58)
at org.apache.tuscany.core.implementation.system.loader.SystemImplementa
tionLoader.load(SystemImplementationLoader.java:41)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.loader.ComponentLoader.loadImplementation(Com
ponentLoader.java:131)
at org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j
ava:84)
at org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j
ava:57)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:77)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:52)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:109)
at org.apache.tuscany.core.loader.IncludeLoader.loadFromSidefile(Include
Loader.java:92)
at org.apache.tuscany.core.loader.IncludeLoader.load(IncludeLoader.java:
80)
at org.apache.tuscany.core.loader.IncludeLoader.load(IncludeLoader.java:
47)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:77)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:52)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:109)
at org.apache.tuscany.core.implementation.system.loader.SystemCompositeC
omponentTypeLoader.loadFromSidefile(SystemCompositeComponentTypeLoader.java:68)
at org.apache.tuscany.core.implementation.system.loader.SystemCompositeC
omponentTypeLoader.load(SystemCompositeComponentTypeLoader.java:59)
at org.apache.tuscany.core.implementation.system.loader.SystemCompositeC
omponentTypeLoader.load(SystemCompositeComponentTypeLoader.java:38)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L
oaderRegistryImpl.java:159)
at org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:
118)
at org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav
a:93)
at org.apache.tuscany.core.launcher.LauncherImpl.bootRuntime(LauncherImp
l.java:100)
at org.apache.tuscany.core.launcher.LauncherImpl.bootRuntime(LauncherImp
l.java:157)
       at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:54)
at innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja
va:30)

And here's the contents of LoaderUtil.loadClass that includes the hack that allowed me to make progress earlier:

public static Class<?> loadClass(String name, ClassLoader cl) throws MissingResourceException {
       final Thread thread = Thread.currentThread();
       final ClassLoader oldCL = thread.getContextClassLoader();
       try {
           thread.setContextClassLoader(cl);
           return Class.forName(name, true, cl);
       } catch (ClassNotFoundException e) {
try { System.out.println("Trying old class loader");return Class.forName(name, true, oldCL); } catch(ClassNotFoundException e2) {System.out.println("Still not found");}
           throw new MissingResourceException(name, e);
       } finally {
           thread.setContextClassLoader(oldCL);
       }
   }

----- Original Message ----- From: "Ignacio Silva-Lepe" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Wednesday, August 23, 2006 5:12 PM
Subject: Re: Can't load implementation.composite


Ok, will try that.

Another question, any idea why a resource (a Java interface .class file) would not be found? I get the exception:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.501 sec <<< FA
ILURE!
test(innercomposite.InnerCompositeTestCase) Time elapsed: 0.471 sec <<< ERROR!

org.apache.tuscany.spi.loader.MissingResourceException: innercomposite.Source
Context stack trace: [application][SourceComponent]
at org.apache.tuscany.spi.loader.LoaderUtil.loadClass(LoaderUtil.java:73
)
at org.apache.tuscany.core.idl.java.InterfaceJavaLoader.load(InterfaceJa
vaLoader.java:76)
at org.apache.tuscany.core.idl.java.InterfaceJavaLoader.load(InterfaceJa
vaLoader.java:45)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.loader.ServiceLoader.load(ServiceLoader.java:
84)
at org.apache.tuscany.core.loader.ServiceLoader.load(ServiceLoader.java:
51)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:77)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:52)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:109)
at org.apache.tuscany.core.implementation.composite.CompositeComponentTy
peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:65)

And I do have a Source.class file in package innercomposite, as far as I can tell. One guess I was trying to pursue was that the class loader may be wrong for some reason. Does that ring any bells?



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to