Hello Werner, Will do, but my job at the moment is a nightmare and times a premium. Leave it with me and I will sort it.
Thanks Paul -----Original Message----- From: Werner Guttmann [mailto:[email protected]] Sent: 08 April 2010 07:51 Cc: [email protected]; Paul French Subject: Re: [castor-user] Setting Class Loader for the marshaller/unmarshaller Paul, why don't you check out sources from SVN, and add the following method to XMLContext /** * Sets a custom {...@link ClassLoader} to be used for loading classes. * @param classLoader A custom {...@link ClassLoader}. */ public void setClassLoader(ClassLoader classLoader) { this._internalContext.setClassLoader(classLoader); } and check whether this solves your problem ? Of course the folks over at Spring (OXM) will need to expose this setter as well, but that#s to be dealt with at a later time. Regards Werner PS Please do not forget to create a Jira issue to track this work. On 07.04.2010 14:56, Werner Guttmann wrote: > Please do so ... I can easily provide e.g. a Maven snapshot release of > 1.3.2 with this new method part of the contract, to ease testing on your > side. > > Kind regards > Werner > > On 07.04.2010 14:50, Paul French wrote: >> I totally agree with you. We do need a way to say what class loader to >> use. >> I was checking with you whether I had missed something. I'll raise a JIRA >> along with the other JIRA I still need to do when I get a chance!! >> >> Thanks >> Paul >> >> -----Original Message----- >> From: Werner Guttmann [mailto:[email protected]] >> Sent: 07 April 2010 13:37 >> To: [email protected] >> Cc: Paul French >> Subject: Re: [castor-user] Setting Class Loader for the >> marshaller/unmarshaller >> >> Hi Paul, >> >> On 06.04.2010 15:24, Paul French wrote: >>> Our application has many third party libraries (including castor) which >> get >>> installed in a specific location and are picked up by tomcat by >>> modifying >>> the common.loader property in catalina.properties. Hence our deployed >>> wars >>> are relatively small since they contain no jars in WEB-INF/lib >> Understood. >> >>> We generate the descriptors + pojo + cdr files via the >>> SourceGeneratorMain >>> utility >>> >>> org.exolab.castor.builder.SourceGeneratorMain -i XXXX.xsd -package >>> com.kirona.YYYY -dest src -nomarshall -f -types j2 >> -generateImportedSchemas >>> true >>> >>> These all get compiled and packaged in the war in WEB-INF/classes along >> with >>> the rest of the application. >> Fine, and that's what it should be. >> >>> As a workaround I have done (by extending CasdtorMarshaller from Spring) >>> >>> XMLContext context = super.createXMLContext(arg0,arg1); >>> >>> >> context.getInternalContext().setClassLoader(AcceptQuote.class.getClassLoader >> >>> ()); >>> >>> ...where AcceptQuote.class is a pojo generated by Castor. This works >>> fine. >>> However context.getInternalContext() has been deprecated and I cannot >>> find >>> an alternative. >> Hmm. There's definitely a setClassLoader() method on the Unmarshaller >> class, but I am not sure that this is exposed in any way. >> >> Thinking about this, one could (and should) introduce a setClassLoader() >> method on XMLContext to allow customization of class loaders. What do >> you think ? >> >> >>> >>> Thanks >>> P >>> >>> >>> -----Original Message----- >>> From: Werner Guttmann [mailto:[email protected]] >>> Sent: 06 April 2010 08:43 >>> To: [email protected] >>> Cc: Paul French >>> Subject: Re: [castor-user] Setting Class Loader for the >>> marshaller/unmarshaller >>> >>> Hi Paul, >>> >>> it's been 5 years plus that I have seen somebody reporting a problem >>> like this. Okay, let me ask you a few questions: >>> >>> - What tool are you using to generate classes (and descriptors) ? >>> - Do you compile your descriptor classes ? >>> - Do you package the compiled descriptors and the generated .castor.cdr >>> files into your web application ? >>> >>> And more importantly, are you .... >>> >>> - deploying standard WAR files on Tomcat ? >>> - having all dependencies (incl. Castor) provided within WEB-INF/lib of >>> your web application ? >>> >>> Regards >>> Werner >>> >>> On 29.03.2010 14:56, Paul French wrote: >>>> Hello All, >>>> >>>> >>>> >>>> This seems to be a common problem but I can't seem to find the >>>> solution. >>>> >>>> >>>> >>>> We use castor to marshall and unmarshall using package descriptors/.cdr >>>> files. >>>> >>>> >>>> >>>> All is fine in eclipse. When deploying to tomcat due to where certain >>>> libraries are placed we get classnotfound exceptions. Basically I >>>> need to >>>> tell the marshaller and unmarshaller what class loader to use. How >>>> can I >>> do >>>> this? >>>> >>>> >>>> >>>> Thanks >>>> >>>> Paul >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >>> >>> __________ NOD32 5003 (20100406) Information __________ >>> >>> This message was checked by NOD32 antivirus system. >>> http://www.eset.com >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >> >> __________ NOD32 5007 (20100407) Information __________ >> >> This message was checked by NOD32 antivirus system. >> http://www.eset.com >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email __________ NOD32 5009 (20100408) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

