Thanks Skip

Put in my notes, maybe useful later. Not sure there is not a better practice 
for that, though. Like using something similar than
the -pos parameter in command line ?

Jacques

----- Message d'origine ----- 
De : "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
À : <[email protected]>
Envoyé : samedi 29 septembre 2007 03:11
Objet : In case anyone is interested


> Yesterday, I sent out this email:
>
> Stumped on a complicated question:
>
> I am getting the following error:
>
> java.lang.ClassNotFoundException:
> org.ofbiz.service.engine.StandardJavaEngine
>
> On this line 81 of
> org.ofbiz.service.engine.GenericEngineFactory.getGenericEngine:
>
>   Class c = loader.loadClass(className);
>
>
> I am running ofbiz as a standalone app, similiar to java ofbiz.jar -pos
>
>
> I have solved the problem and the solution was fairly simple.  I was
> prepared to do a reflection call to addURL on the ClassLoader, but the the
> solution turned out to be even simpler than that.
>
> When Ofbiz instantiated my container, I simply grabbed the class loader it
> used to start me up and then passed it to the Ofbiz connection layer like
> this:
>
> ClassLoader loader = Thread.currentThread().getContextClassLoader();
> if(loader instanceof URLClassLoader)
> {
> URLClassLoader urlLoader = (URLClassLoader)loader;
> connection.setClassLoader (urlLoader);
>
> }
>
>
> In the connection layer, I have this code:
>
> void resetClassLoader()
> {
> if(this.loader == null)
> return;
>
> ClassLoader loader = Thread.currentThread().getContextClassLoader();
> if(loader != this.loader)
>         Thread.currentThread().setContextClassLoader(this.loader);
>
> }
>
> I then simply call resetClassLoader() every time before I call an Ofbiz
> service.
>
> Works a charm.
>
> Skip
>

Reply via email to