ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clinton Begin <clinton.be...@gmail.com>
Subject Re: ClassInfo.CLASS_INFO_MAP
Date Fri, 02 Apr 2010 14:32:13 GMT
I the performance penalty would be quite a bit, so I wouldn't use it in
production.  But it's fine for development.

Hopefully you're not reloading your app in production regularly.


On Thu, Apr 1, 2010 at 11:26 PM, Derek Scherger <derek@echologic.com> wrote:

> On Thu, Apr 1, 2010 at 10:55 PM, Clinton Begin <clinton.begin@gmail.com>wrote:
>> This is a known issue.  I agree that it would be nice to do something with
>> it. Ideas are welcome.   The only one I have at the moment is to make
>> ClassInfo an instance and inject it into the SQL mapper configuration.  I've
>> done similar things to eliminate static classes in the framework.
> A ClassInfo.release(ClassLoader) method that releases all cached
> information for classes loaded by the specified class loader might do it.
> Commons logging has something like this on LogFactory, although commons
> logging is probably not what you want to be using as a model for how to do
> this right (http://articles.qos.ch/classloader.html). Commons logging also
> uses its own internal weak hash map implementation to avoid holding hard
> references to cached loggers. Using something similar might be a bit better,
> in that no explicit release is needed when the webapp context is destroyed.
> You can call ClassInfo.setCacheEnabled(false); to stop it from caching
>> classes.
> How much of a performance penalty will this cause? I don't have any
> problems with the cache while the classloader is live but clearing it when
> the classloader dies would be good. ;)
> Cheers,
> Derek

View raw message