You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by robert burrell donkin <ro...@blueyonder.co.uk> on 2005/10/01 20:11:38 UTC
[digester] Re: Classloading regression between
commons-digester-1.0 and later versions
hi jan
please remember to add the subject prefix for the component.
On Thu, 2005-09-29 at 13:57 -0700, Jan Luehe wrote:
> This may be an old topic, but it seems a classloading regression was
> introduced between commons-digester-1.0 and later versions (including
> the most recent).
this is indeed a very old topic :)
<snip>
> Can someone explain to me the motivation for setting the
> "useContextClassLoader" property to FALSE by default?
i can offer you nothing more than the logs: it is set to FALSE by
default for no very good reason but most likely since it was felt
(rightly or wrongly) to preserve backwards compatibility.
> We can easily restore the commons-digester-1.0 behaviour in our own
> code by setting "useContextClassLoader" to TRUE on the Digester
> instances we acquire. However, this is not possible on "foreign" code
> that we bundle.
>
> It would be useful if Digester.getClassLoader() would also consider a
> system property (in addition to its own "useContextClassLoader"
> property) when determining whether to use the context classloader.
+1
can anyone think of any reasons not to add this?
> Any comments appreciated.
submit a patch :)
- robert
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
Re: [digester] Re: Classloading regression between
commons-digester-1.0 and later versions
Posted by Jan Luehe <Ja...@Sun.COM>.
Hi Robert,
robert burrell donkin wrote On 10/01/05 11:11,:
> hi jan
>
> please remember to add the subject prefix for the component.
will remember from now on! :)
> On Thu, 2005-09-29 at 13:57 -0700, Jan Luehe wrote:
>
>>This may be an old topic, but it seems a classloading regression was
>>introduced between commons-digester-1.0 and later versions (including
>>the most recent).
>
>
> this is indeed a very old topic :)
>
> <snip>
>
>>Can someone explain to me the motivation for setting the
>>"useContextClassLoader" property to FALSE by default?
>
>
> i can offer you nothing more than the logs: it is set to FALSE by
> default for no very good reason but most likely since it was felt
> (rightly or wrongly) to preserve backwards compatibility.
>
>
>>We can easily restore the commons-digester-1.0 behaviour in our own
>>code by setting "useContextClassLoader" to TRUE on the Digester
>>instances we acquire. However, this is not possible on "foreign" code
>>that we bundle.
>>
>>It would be useful if Digester.getClassLoader() would also consider a
>>system property (in addition to its own "useContextClassLoader"
>>property) when determining whether to use the context classloader.
>
>
> +1
>
> can anyone think of any reasons not to add this?
The only problem with adding a system property for this purpose
is that it would require granting the commons-digester jar the
permission to read it. It a web application bundles commons-digester
locally, it will not have this permission in most cases.
Perhaps it is safer to stick to the current "useContextClassLoader"
property and require that web applications always bundle
commons-digester, in which case the classloader that loaded
Digester.class will correspond to the web application's classloader,
which has access to all classes under WEB-INF/lib[classes].
Thanks,
Jan
>
>>Any comments appreciated.
>
>
> submit a patch :)
>
> - robert
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org