Simon,

having one XMLContext() instance only seems to be the better approach to me.

Werner

Simon Godard wrote:
> Thanks for your great help. It now works perfectly.
> 
> One question about the XMLContext object. Do you recommend to only
> have one instance for your application and load all mappings into that
> object? Currently, each module loads its own mapping and creates its
> Marshaller/Unmarshaller. I guess it would be more performant.
> 
> -Simon-
> 
> On Wed, Nov 26, 2008 at 12:48 PM, Joachim Grüneis <[EMAIL PROTECTED]> wrote:
>> Sorry Simon ;-)
>>
>> after I've sent my mail I saw my mistake...
>>
>> as for your problem:
>> the best practice you've used is outdated for 1.3
>> you should use something like
>>
>> XMLContext ctx = new XMLContext();
>> ctx.addMapping(mapping);
>>
>> Unmarshaller u = ctx.createUnmarshaller()
>> u....
>>
>> You can create as many Unmarshaller instances as you like from the
>> XMLContext - it will reuse the mapping information read. It is no
>> longer the ClassDescriptorResolver yopu should 'reuse' but the
>> XMLContext.
>>
>> I remeber the documentation you reference to.. but I think it isn't
>> online any longer... the XMLContext way of doing things is described
>> in: http://www.castor.org/reference/html-single/index.html#d0e278
>>
>> hth
>> Joachim
>>
>> 2008/11/26 Simon Godard <[EMAIL PROTECTED]>:
>>> Hi Joachim,
>>>
>>> My name is Simon :)
>>>
>>> I've attached the code snippet you requested. It fails on the
>>> following line (line 16 in the file) and then throws a LoadException.
>>>
>>> return unmarshaller.unmarshal(inputStream);
>>>
>>> Thanks again.
>>> -Simon-
>>>
>>> On Wed, Nov 26, 2008 at 10:45 AM, Joachim Grüneis <[EMAIL PROTECTED]> wrote:
>>>> Hello Godard,
>>>>
>>>> can you please provide the code snipped which terminates with this
>>>> exception... it must be something with XMLContext, Unmarshaller, ...
>>>>
>>>> Regards
>>>> Joachim
>>>>
>>>> 2008/11/26 Simon Godard <[EMAIL PROTECTED]>:
>>>>> Hi,
>>>>>
>>>>> I'm trying to use a ClassDescriptorResolver as describe in Castor's
>>>>> Best practices, but I've run into problems.
>>>>>
>>>>> First, I had to update my version to 1.3rc1 to fix a
>>>>> NullPointerException.  After my update, I'm now getting this
>>>>> exception:
>>>>> IllegalStateException: No Introspector defined in properties! thrown
>>>>> by the ByIntrospection class. I've debugged the code and found out
>>>>> that the Introspector is not set when using the Best practices
>>>>> approach. My XMLClassDescriptorResolver _introspector, _classLoader
>>>>> variables are all null.
>>>>>
>>>>> Am I missing something?
>>>>> I've attached a stackframe and variables view from Eclipse.
>>>>>
>>>>> Here is the stacktrace:
>>>>> Caused by: java.lang.IllegalStateException: No Introspector defined in
>>>>> properties!
>>>>>        at 
>>>>> org.exolab.castor.xml.util.resolvers.ByIntrospection.internalResolve(ByIntrospection.java:85)
>>>>>        at 
>>>>> org.exolab.castor.xml.util.resolvers.AbstractResolverClassCommand.resolve(AbstractResolverClassCommand.java:55)
>>>>>        at 
>>>>> org.exolab.castor.xml.util.resolvers.CastorXMLStrategy.getDescriptor(CastorXMLStrategy.java:137)
>>>>>        at 
>>>>> org.exolab.castor.xml.util.resolvers.CastorXMLStrategy.resolveClass(CastorXMLStrategy.java:82)
>>>>>        at 
>>>>> org.exolab.castor.xml.util.XMLClassDescriptorResolverImpl.resolve(XMLClassDescriptorResolverImpl.java:289)
>>>>>        at 
>>>>> org.exolab.castor.xml.MarshalFramework.searchInheritance(MarshalFramework.java:506)
>>>>>        at 
>>>>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1867)
>>>>>        at 
>>>>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1420)
>>>>>        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
>>>>> Source)
>>>>>        at 
>>>>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
>>>>> Source)
>>>>>        at 
>>>>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
>>>>> Source)
>>>>>        at 
>>>>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
>>>>> Source)
>>>>>        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
>>>>> Source)
>>>>>        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
>>>>> Source)
>>>>>        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>>>>        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
>>>>> Source)
>>>>>        at 
>>>>> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:748)
>>>>>        at 
>>>>> com.coradiant.configuration.xml.XmlObjectReader.read(XmlObjectReader.java:258)
>>>>>        ... 25 more
>>>>>
>>>>> Thanks
>>>>> Simon Godard
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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
>>>>
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> 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
>>
>>
>>
> 
> ---------------------------------------------------------------------
> 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


Reply via email to