You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Adam Gugliciello <Ad...@emeta.com> on 2005/08/15 19:31:51 UTC
RE: ThrottledPool hanging
It doesn't actually take a minute to get the connection, it's just a safe and reasonable timeout.
________________________________
From: Clinton Begin [mailto:clinton.begin@gmail.com]
Sent: Mon 8/15/05 1:19 PM
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 <Ad...@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);
}
}