You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Ignacio Silva-Lepe <is...@verizon.net> on 2006/08/29 19:42:12 UTC

LoaderUtil missing resource exception, was Re: Can't load implementation.composite

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" <is...@verizon.net>
To: <tu...@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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org