ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niels Beekman" <n.beek...@wis.nl>
Subject RE: ThrottledPool handing
Date Mon, 15 Aug 2005 18:29:47 GMT
Adam,

 

Can you simulate what happens when

 

> t.execute(this.sqlMapClient)

 

throws an exception, so before you explicitly close the session?

 

Niels

 

________________________________

From: Clinton Begin [mailto:clinton.begin@gmail.com] 
Sent: maandag 15 augustus 2005 19:19
To: user-java@ibatis.apache.org
Subject: Re: FW:

 


Why does it take a minute to get a connection?  With a connection pool,
it should literally be milliseconds....

Clinton

On 8/15/05, Adam Gugliciello <AdamG@emeta.com> wrote:

Under a heavy sustained load, the sqlmaps ThrottledPool seems to start
to bind, the the vast majority of them binding up and blocking waiting
to build a new session, and stay blocked long after the fact, even days
after the request has been abandoned. Any help would be appreciated, and
I am attaching a thread dump.

 

My code looks like:

 

 private void executeSqlMapTemplate(SqlMapTemplate t) throws
SQLException
    {
        final Connection c =
 
this._dbPool.borrowConnection("QuestionnaireCustomerApi",
                        1 * 60 * 1000l); // Waits a minute for a
connection
        if (c == null)
        {
            throw new IllegalStateException("Unable to retrieve JDBC
Connection from db pool.");
        }
        try
        {
            SqlMapSession sess=this.sqlMapClient.openSession(c);
            t.execute(this.sqlMapClient);
            sess.close();

 

        }
        finally
        {

 

            this._dbPool.returnConnection(c);
        }
    }

 




 


Mime
View raw message