I found about this RequestScope through the profiler YourKit. Here is the trail that references the IBatis objects.
map of com.ibatis.sqlmap.engine.scope.RequestScope --[121] of java.lang.Object[513] ---elementData of java.util.ArrayList ----list of java.util.Collections$SynchronizedRandomAccessList -----pool of com.ibatis.common.util.ThrottledPool ------requestPool of com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelega te ------delegate of com.ibatis.sqlmap.engine.impl.SqlMapClientImpl -------client of com.ibatis.dao.engine.transaction.sqlmap.SqlMapDao TransactionManager --------transactionManager of com.ibatis.dao.engine.impl.DaoContext ---------[0] of java.lang.Object[11] ----------elementData of java.util.ArrayList -----------value of java.lang.ThreadLocal$ThreadLocalMap$Entry ------------[1442] of java.lang.ThreadLocal$ThreadLocalMap$Entry[2049] -------------table of java.lang.ThreadLocal$ThreadLocalMap --------------threadLocals of java.lang.Thread [Stack Local, Thread] The reason I thought it might be contributing to a memory leak was the fact that at every snapshot I take, the number of HashMaps continues to increase without going down. Then when I look at what it is referring to, it points to the RequestScope. While looking in the trace, I saw that it was referencing the DaoContext's transaction Manager. Could the Transaction Manager be playing a part in this? My application uses Spring with SQL Maps, but a library we wrote uses the DAO Framework specifically. The Spring application does not use it. I think that is worth looking into, given what I see in the profiler. Daniel ________________________________ From: Kalcevich, Daniel Sent: Monday, March 05, 2007 11:37 AM To: '[email protected]' Subject: What is RequestScope used for? Hello, I have a Spring, Struts, SQL Map application that runs on JBoss/Tomcat. And while going through a profiler, I am seeing that there are several instances of "com.ibatis.sqlmap.engine.scope.RequestScope". What is that object used for? The reason I ask is that I am trying to track down a memory leak and am wondering if this class is possibly part of the cause? Any help is greatly appreciated. Thank you. Daniel
