From: kfujino Date: Tue, 2 Aug 2011 11:51:20 +0000 (+0000) Subject: Committing connection if autoCommit is false. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=0ad44baa42f74594825cffa7df986072e23d6e7f;p=tomcat7.0 Committing connection if autoCommit is false. Make sure committed connection is returned to the pool if datasource is enabled. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1153099 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/session/JDBCStore.java b/java/org/apache/catalina/session/JDBCStore.java index ed178515d..bfbfa9662 100644 --- a/java/org/apache/catalina/session/JDBCStore.java +++ b/java/org/apache/catalina/session/JDBCStore.java @@ -1015,6 +1015,15 @@ public class JDBCStore extends StoreBase { ExceptionUtils.handleThrowable(f); } this.preparedLoadSql = null; + + // Commit if autoCommit is false + try { + if (!dbConnection.getAutoCommit()) { + dbConnection.commit(); + } + } catch (SQLException e) { + manager.getContainer().getLogger().error(sm.getString(getStoreName() + ".commitSQLException"), e); + } // Close this database connection, and log any errors try { diff --git a/java/org/apache/catalina/session/LocalStrings.properties b/java/org/apache/catalina/session/LocalStrings.properties index 8359ead8b..c3d0c7435 100644 --- a/java/org/apache/catalina/session/LocalStrings.properties +++ b/java/org/apache/catalina/session/LocalStrings.properties @@ -29,6 +29,7 @@ JDBCStore.checkConnectionSQLException=A SQL exception occurred {0} JDBCStore.checkConnectionClassNotFoundException=JDBC driver class not found {0} JDBCStore.wrongDataSource=Cannot open JNDI DataSource [{0}] JDBCStore.missingDataSourceName=No valid JNDI name was given. +JDBCStore.commitSQLException=SQLException committing connection before closing managerBase.createRandom=Created random number generator for session ID generation in {0}ms. managerBase.createSession.ise=createSession: Too many active sessions managerBase.sessionTimeout=Invalid session timeout setting {0} diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index d6f60b00a..35bf64dcf 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -114,6 +114,11 @@ of a Servlet instance always do so in way that correctly instantiates a Servlet instance. (markt) + + Committing connection if autoCommit is false. + Make sure committed connection is returned to the pool if datasource is + enabled. (kfujino) +