+1. I'll do it. Jeff Butler
On Fri, Oct 3, 2008 at 8:52 AM, Kai Grabfelder (JIRA) <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/IBATIS-540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636636#action_12636636 > ] > > Kai Grabfelder commented on IBATIS-540: > --------------------------------------- > > cool, then I guess it is save to apply it ;-). @Devs? What do you think? > >> Classloader memory leak because of ThreadLocal in ResultObjectFactoryUtil >> ------------------------------------------------------------------------- >> >> Key: IBATIS-540 >> URL: https://issues.apache.org/jira/browse/IBATIS-540 >> Project: iBatis for Java >> Issue Type: Bug >> Components: SQL Maps >> Affects Versions: 2.3.3, 2.3.4 >> Reporter: Sylvain Laurent >> Attachments: ibatis patch for classloader memleak.txt >> >> >> I'm using iBatis in a webapp with Spring and facing memory leaks upon >> redeployment oft he webapp. >> I tracked the leaks to ibatis, where the class ResultObjectFactoryUtil has a >> static ThreadLocal factorySettings >> The problem is that the value bound to a Thread through this ThreadLocal is >> never nullified, and since the "factorySettings" is a static variable, the >> ThreadLocal instance is reachable as long as the ClassLoader of the webapp >> is reachable. But since the FactorySettings instance is bound to the Thread >> through a strong reference (see the JDK implementation of ThreadLocal in >> ThreadLocalMap$Entry), the classloader is finally never collected... >> The solution is to always cleanup the ThreadLocal after usage (in >> SqlExecurtor) >> I attach a patch for iBatis 2.3.4 to this issue > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >