> There are several hints about a memory leak in Ant related to not > cleaning up classloaders used for loading typedefs/taskdefs in > subbuilds. So far we haven't pinned down the problem.
I can definitely see the memory usage for "java.exe" in task manager creeping up. :( > Are you defining the dbunit tasks inside the <for> or are you spawning > new <ant> or <subant> ot <antcall> tasks inside <for> > that would do so? > If so you may be able to work around the problem by defining the tasks > inside the main build before the for loop. I have tested all of the following combinations and all of them fails after ~50 calls. 1. In main <project>, call <dbunit> sequentially (copy and paste) 2. In a <task>, call <dbunit> sequentially (copy and paste) 3. In a <task>, call <for> loop to execute <dbunit> 4. In a <task>, call <xmltask> (from http://www.oopsconsultancy.com/software/xmltask/) to extract integer from each child node, and execute <dbunit> I can try to rewrite it using <ant>, <subant>, <antcall>, but how can I pass a @variable to the task I am calling? > The other things you may be leaking are JDBC drivers. You could try to > load the driver inside the main build explicitly so it never ends up on > any other classloader (<available> should help). I tried to add the following inside my main <project>, but unfortunately, it failed as well. Am I doing it correctly? <available property="preloadDbUnit" classname="org.dbunit.ant.DbUnitTask"> <classpath> <pathelement location="${dbunit.jar}"/> <pathelement location="${slf4j-api.jar}"/> </classpath> </available> <available property="preloadMySQLJdbc" classname="com.mysql.jdbc.Driver"> <classpath> <pathelement location="mysql.jar"/> </classpath> </available> > > Stefan > Thanks! Charles --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org