Return-Path: Delivered-To: apmail-ibatis-user-java-archive@www.apache.org Received: (qmail 55866 invoked from network); 6 Mar 2007 15:04:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Mar 2007 15:04:32 -0000 Received: (qmail 91120 invoked by uid 500); 6 Mar 2007 15:04:22 -0000 Delivered-To: apmail-ibatis-user-java-archive@ibatis.apache.org Received: (qmail 91102 invoked by uid 500); 6 Mar 2007 15:04:22 -0000 Mailing-List: contact user-java-help@ibatis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user-java@ibatis.apache.org Delivered-To: mailing list user-java@ibatis.apache.org Received: (qmail 91083 invoked by uid 99); 6 Mar 2007 15:04:22 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Mar 2007 07:04:22 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [69.87.54.9] (HELO outbound-smtp.firstam.com) (69.87.54.9) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Mar 2007 07:04:09 -0800 Received: from 10.48.129.31 by outbound-smtp.firstam.com with ESMTP ( Hello SMTP Relay); Tue, 06 Mar 2007 07:03:41 -0800 X-Server-Uuid: A20F5341-692A-45C7-975F-AE726A98C579 Received: from unknown (HELO fahqsna01smxs12.corp.firstam.com) ( [172.17.247.12]) by FAEMSNA01SMXS02.FIRSTAM.COM with ESMTP; 06 Mar 2007 07:03:42 -0800 Received: from timedal01sxch01.corp.firstam.com ([172.22.180.230]) by fahqsna01smxs12.corp.firstam.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 6 Mar 2007 07:03:40 -0800 Received: from HQSNA01SMXS01.corp.firstam.com ([172.17.22.36]) by timedal01sxch01.corp.firstam.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 6 Mar 2007 10:03:39 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: What is RequestScope used for? Date: Tue, 6 Mar 2007 07:03:37 -0800 Message-ID: <51341F848370D64B848C054164F8175E22B8DF21@HQSNA01SMXS01.corp.firstam.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: RE: What is RequestScope used for? Thread-Index: AcdfXa+ffXZiW/2iSBC3N2U6Htv54wAouQXQ From: "Kalcevich, Daniel" To: user-java@ibatis.apache.org X-OriginalArrivalTime: 06 Mar 2007 15:03:39.0081 (UTC) FILETIME=[9F373390:01C76000] X-TMWD-Spam-Summary: SEV=1.1; DFV=A2007030607; IFV=2.0.6,4.0-7; RPD=4.00.0004; RPDID=303030312E30413031303230312E34354544383243452E303035333A5343464D413534333432342D462D2F4E4553574B563534472F71554B6D71577A564237673D3D; ENG=IBF; TS=20070306150343; CAT=NONE; CON=NONE; X-WSS-ID: 69F35D474IG107818-01-01 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C76000.9ED9B9F4" X-Virus-Checked: Checked by ClamAV on apache.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C76000.9ED9B9F4 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable I found about this RequestScope through the profiler YourKit. Here is the trail that references the IBatis objects. =20 map of com.ibatis.sqlmap.engine.scope.RequestScope=20 --[121] of java.lang.Object[513]=20 ---elementData of java.util.ArrayList=20 ----list of java.util.Collections$SynchronizedRandomAccessList=20 -----pool of com.ibatis.common.util.ThrottledPool=20 ------requestPool of com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelega te=20 ------delegate of com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=20 -------client of com.ibatis.dao.engine.transaction.sqlmap.SqlMapDao TransactionManager=20 --------transactionManager of com.ibatis.dao.engine.impl.DaoContext=20 ---------[0] of java.lang.Object[11]=20 ----------elementData of java.util.ArrayList=20 -----------value of java.lang.ThreadLocal$ThreadLocalMap$Entry=20 ------------[1442] of java.lang.ThreadLocal$ThreadLocalMap$Entry[2049]=20 -------------table of java.lang.ThreadLocal$ThreadLocalMap=20 --------------threadLocals of java.lang.Thread [Stack Local, Thread] =20 =20 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. =20 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. =20 Daniel =20 =20 ________________________________ From: Kalcevich, Daniel=20 Sent: Monday, March 05, 2007 11:37 AM To: 'user-java@ibatis.apache.org' Subject: What is RequestScope used for? =20 Hello, =20 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. =20 Daniel ------_=_NextPart_001_01C76000.9ED9B9F4 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: quoted-printable

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: 'user-java@ibatis.apache.org'
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

------_=_NextPart_001_01C76000.9ED9B9F4--