Author: jgbutler Date: Tue May 11 19:53:12 2010 New Revision: 943251 URL: http://svn.apache.org/viewvc?rev=943251&view=rev Log: Fix for IBATIS-376 - clean up ThreadLocal for hot deploy issues
Modified: ibatis/java/ibatis-2/trunk/ibatis-2-core/build/version.properties ibatis/java/ibatis-2/trunk/ibatis-2-core/doc/release.txt ibatis/java/ibatis-2/trunk/ibatis-2-core/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Modified: ibatis/java/ibatis-2/trunk/ibatis-2-core/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-2/trunk/ibatis-2-core/build/version.properties?rev=943251&r1=943250&r2=943251&view=diff ============================================================================== --- ibatis/java/ibatis-2/trunk/ibatis-2-core/build/version.properties (original) +++ ibatis/java/ibatis-2/trunk/ibatis-2-core/build/version.properties Tue May 11 19:53:12 2010 @@ -1,5 +1,5 @@ #Build version info -#Sun Mar 29 17:24:27 CEST 2009 +#Tue May 11 14:48:36 CDT 2010 version=2.3.4 -buildDate=2009/03/29 17\:24 -buildNum=733 +buildDate=2010/05/11 14\:48 +buildNum=735 Modified: ibatis/java/ibatis-2/trunk/ibatis-2-core/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-2/trunk/ibatis-2-core/doc/release.txt?rev=943251&r1=943250&r2=943251&view=diff ============================================================================== --- ibatis/java/ibatis-2/trunk/ibatis-2-core/doc/release.txt (original) +++ ibatis/java/ibatis-2/trunk/ibatis-2-core/doc/release.txt Tue May 11 19:53:12 2010 @@ -12,6 +12,7 @@ Next Version o IBATIS-508 - Lock occurs when heavy traffic: removed double synchronization o IBATIS-389 - Unbalanced # in SQL causes unclear/misleading error message: changed to throw more meaningful exception message o IBATIS-536 - Errors when using PreparedStatement.setNull(i,Types.OTHER) on some RDBMS: applied patch inspired by SpringSource + o IBATIS-376 - Clean up ThreadLocal for hot deploy issues ------------------------------ 2.3.4 Modified: ibatis/java/ibatis-2/trunk/ibatis-2-core/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-2/trunk/ibatis-2-core/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java?rev=943251&r1=943250&r2=943251&view=diff ============================================================================== --- ibatis/java/ibatis-2/trunk/ibatis-2-core/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java (original) +++ ibatis/java/ibatis-2/trunk/ibatis-2-core/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Tue May 11 19:53:12 2010 @@ -43,7 +43,7 @@ public class SqlMapClientImpl implements */ public SqlMapExecutorDelegate delegate; - protected ThreadLocal localSqlMapSession = new ThreadLocal(); + protected ThreadLocal<SqlMapSessionImpl> localSqlMapSession = new ThreadLocal<SqlMapSessionImpl>(); /** * Constructor to supply a delegate @@ -153,6 +153,7 @@ public class SqlMapClientImpl implements getLocalSqlMapSession().endTransaction(); } finally { getLocalSqlMapSession().close(); + localSqlMapSession.remove(); } } @@ -253,7 +254,7 @@ public class SqlMapClientImpl implements } protected SqlMapSessionImpl getLocalSqlMapSession() { - SqlMapSessionImpl sqlMapSession = (SqlMapSessionImpl) localSqlMapSession.get(); + SqlMapSessionImpl sqlMapSession = localSqlMapSession.get(); if (sqlMapSession == null || sqlMapSession.isClosed()) { sqlMapSession = new SqlMapSessionImpl(this); localSqlMapSession.set(sqlMapSession);