Hi Ralf,

just trying to catch up on this one.

Ralf Joachim wrote:
> Hi Joachim,
> 
> if you like to use only one class loader at XML side I do not care at
> the moment but for JDO I know usecases where 2 are required. As far as I
> know some older releases of EJB containers required 2 classloaders and
> if you use some kind of plugin mechanisms you may also require 2.
I am not sure this is required for newer releases of Castor any more. I
do agree that with (quite) old releases of ejb/servlet containers
(mainly Websphere, Weblogic et alias) class loader handling was error
prone. But i have not seen a single issue with servlet/ejb containers in
the last four years or so. As such, I would argue that there's Castor
releases who can be used on such (oldish) containers, but I would not
recommend to anybody to go down that route (again).

In other words, if I had a choice in 2008, I would redo things
completely. Most of the time (ignoring OSGI for this discussion),
getClass().getClassLoader() or Class.forName() should be enough these days.

> Having
> said that I see also advantages of 2 classloaders for XML when using a
> plugin mechanisum.
Can you expand on this a bit more ? I am not sure I do understand the
use case in this context.

> That the 2 classloaders of InternalContext are not used at CPA yet
> relates to me not having enough time to pass an context instance around
> to all CPA classes where config values and classloaders are used. In
> most cases still the context is initialized in a static way which
> prevents us from using different configurations anyway.
> 
> Regards
> Ralf
> 
> 
> Joachim Grüneis schrieb:
>> Hello,
>>
>> there are CASTOR-2183 and CASTOR-2187 reminding me constantly there
>> this is still an unresolved topic...
>>
>> Lets define a solution and I will implemented it.
>>
>> XMLConfiguration knows two class-loaders: application and domain - is
>> this concept present somewhere else? are these different class loaders
>> really used that way? checking it via call hierarchy shows that the
>> domain class loader is not used and application class loader is used
>> by some CPA stuff...
>>
>> XMLContext manages no state... it has a class (okay an interface)
>> called InternalContext for that purpose...
>> InternalContext has a getClassLoader method which is again not used... Argh!
>>
>> The first decision I would like to reach: two class-loaders or just one
>>
>> My personal opinion is to use just one. Most people are already
>> confused by one class loader and wont correctly use the possibility to
>> use two. Also I know no situation in which I ever required to have two
>> class-loaders. Only exception of this rule was some kind of
>> bootstrapping - but still either I need Castor in the boot strapping
>> then I need Castor and the mapped classes during boot strapping phase
>> or I need all of it later - but again no two class loaders known to
>> Castor...
>>
>> Second: I would prefer to hand down InternalContext to classes like
>> Marshaller or Unmarshaller by cloning the InternalContext and keeping
>> no own attributes in Un-/Marshaller. All classes that are 'served' by
>> Un-/Marshaller will receive distinct values being set.
>>
>> Is this okay to all?!
>>
>> Have fun
>>
>> Joachim
>>
>> 2008/5/27 Werner Guttmann <[EMAIL PROTECTED]>:
>>> Dear committers,
>>>
>>> is there a particular reason why the XMLContext class does not carry a
>>> setClassLoader() method. Given that all other classes (such as
>>> Unmarshaller and Marshaller (though through
>>> XMLClassDescriptorResolver))) carry such a method, it would only be
>>> natural to make this available on XMLContext as well, no ?
>>>
>>> Regards
>>> Werner
>>>
>>> ---------------------------------------------------------------------
>>> 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