From: Adrian B. <ej...@us...> - 2004-07-13 16:20:59
|
User: ejort Date: 04/07/13 09:20:52 Modified: src/main/org/jboss/resource/adapter/jdbc BaseWrapperManagedConnectionFactory.java WrappedStatement.java WrappedConnection.java BaseWrapperManagedConnection.java Log: Port <track-statements>nowarn</track-statements> from 3.2 Revision Changes Path 1.14 +27 -10 jbosscx/src/main/org/jboss/resource/adapter/jdbc/BaseWrapperManagedConnectionFactory.java Index: BaseWrapperManagedConnectionFactory.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/adapter/jdbc/BaseWrapperManagedConnectionFactory.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- BaseWrapperManagedConnectionFactory.java 25 Sep 2003 20:22:35 -0000 1.13 +++ BaseWrapperManagedConnectionFactory.java 13 Jul 2004 16:20:51 -0000 1.14 @@ -1,4 +1,3 @@ - /* * JBoss, the OpenSource J2EE webOS * @@ -6,10 +5,8 @@ * See terms of license at gnu.org. * */ - package org.jboss.resource.adapter.jdbc; - import java.io.PrintWriter; import java.io.Serializable; import java.sql.Connection; @@ -30,16 +27,24 @@ /** * BaseWrapperManagedConnectionFactory.java * - * * Created: Fri Apr 19 13:33:08 2002 * * @author <a href="mailto:d_j...@us...">David Jencks</a> - * @version + * @author <a href="mailto:ad...@jb...">Adrian Brock</a> + * @version $Revision: 1.14 $ */ public abstract class BaseWrapperManagedConnectionFactory implements ManagedConnectionFactory, Serializable { + public static final int TRACK_STATEMENTS_FALSE_INT = 0; + public static final int TRACK_STATEMENTS_TRUE_INT = 1; + public static final int TRACK_STATEMENTS_NOWARN_INT = 2; + + public static final String TRACK_STATEMENTS_FALSE = "false"; + public static final String TRACK_STATEMENTS_TRUE = "true"; + public static final String TRACK_STATEMENTS_NOWARN = "nowarn"; + protected final Logger log = Logger.getLogger(getClass()); protected String userName; @@ -85,7 +90,7 @@ private ExceptionSorter exceptionSorter; - private boolean trackStatements; + protected int trackStatements = TRACK_STATEMENTS_NOWARN_INT; public BaseWrapperManagedConnectionFactory () { @@ -289,18 +294,30 @@ * Whether to track statements * @return true when tracking statements */ - public boolean getTrackStatements() + public String getTrackStatements() { - return trackStatements; + if (trackStatements == TRACK_STATEMENTS_FALSE_INT) + return TRACK_STATEMENTS_FALSE; + else if (trackStatements == TRACK_STATEMENTS_TRUE_INT) + return TRACK_STATEMENTS_TRUE; + return TRACK_STATEMENTS_NOWARN; } /** * Set the track statements value. * @param value true to track statements. */ - public void setTrackStatements(boolean value) + public void setTrackStatements(String value) { - trackStatements = value; + if (value == null) + throw new IllegalArgumentException("Null value for trackStatements"); + String trimmed = value.trim(); + if (trimmed.equalsIgnoreCase(TRACK_STATEMENTS_FALSE)) + trackStatements = TRACK_STATEMENTS_FALSE_INT; + else if (trimmed.equalsIgnoreCase(TRACK_STATEMENTS_TRUE)) + trackStatements = TRACK_STATEMENTS_TRUE_INT; + else + trackStatements = TRACK_STATEMENTS_NOWARN_INT; } /** 1.7 +14 -11 jbosscx/src/main/org/jboss/resource/adapter/jdbc/WrappedStatement.java Index: WrappedStatement.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/adapter/jdbc/WrappedStatement.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- WrappedStatement.java 19 Jun 2004 11:11:46 -0000 1.6 +++ WrappedStatement.java 13 Jul 2004 16:20:51 -0000 1.7 @@ -21,7 +21,7 @@ * * @author <a href="mailto:d_j...@us...">David Jencks</a> * @author <a href="mailto:ad...@jb...">Adrian Brock</a> - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ */ public class WrappedStatement @@ -784,26 +784,27 @@ protected ResultSet registerResultSet(ResultSet resultSet) { - if(resultSet != null) - { + if (resultSet != null) resultSet = new WrappedResultSet(this, resultSet); - } - if (lc.isTrackStatements() == false) + if (lc.getTrackStatements() == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_FALSE_INT) return resultSet; synchronized (this) { if (resultSets == null) resultSets = new HashMap(); - resultSets.put(resultSet, new Exception("STACKTRACE")); + if (lc.getTrackStatements() == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_TRUE_INT) + resultSets.put(resultSet, new Exception("STACKTRACE")); + else + resultSets.put(resultSet, null); } return resultSet; } protected void unregisterResultSet(WrappedResultSet resultSet) { - if (lc.isTrackStatements() == false) + if (lc.getTrackStatements() == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_FALSE_INT) return; synchronized (this) @@ -815,7 +816,7 @@ protected void closeResultSets() { - if (lc.isTrackStatements() == false) + if (lc.getTrackStatements() == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_FALSE_INT) return; synchronized (this) @@ -826,9 +827,11 @@ { Map.Entry entry = (Map.Entry) i.next(); WrappedResultSet resultSet = (WrappedResultSet) entry.getKey(); - Exception stackTrace = (Exception) entry.getValue(); - - lc.getLogger().warn("Closing a result set you left open! Please close it yourself.", stackTrace); + if (lc.getTrackStatements() == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_TRUE_INT) + { + Exception stackTrace = (Exception) entry.getValue(); + lc.getLogger().warn("Closing a result set you left open! Please close it yourself.", stackTrace); + } try { resultSet.internalClose(); 1.6 +17 -11 jbosscx/src/main/org/jboss/resource/adapter/jdbc/WrappedConnection.java Index: WrappedConnection.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/adapter/jdbc/WrappedConnection.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- WrappedConnection.java 12 Mar 2004 14:48:51 -0000 1.5 +++ WrappedConnection.java 13 Jul 2004 16:20:51 -0000 1.6 @@ -26,7 +26,7 @@ * * @author <a href="mailto:d_j...@us...">David Jencks</a> * @author <a href="mailto:ad...@jb...">Adrian Brock</a> - * @version $Revision: 1.5 $ + * @version $Revision: 1.6 $ */ public class WrappedConnection implements Connection @@ -40,14 +40,20 @@ private boolean closed = false; + private int trackStatements; + public WrappedConnection(final BaseWrapperManagedConnection mc) { this.mc = mc; + if (mc != null) + trackStatements = mc.getTrackStatements(); } void setManagedConnection(final BaseWrapperManagedConnection mc) { this.mc = mc; + if (mc != null) + trackStatements = mc.getTrackStatements(); } // implementation of java.sql.Connection interface @@ -80,7 +86,7 @@ closed = true; if (mc != null) { - if (mc.getTrackStatements()) + if (trackStatements != BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_FALSE_INT) { synchronized (this) { @@ -90,8 +96,11 @@ { Map.Entry entry = (Map.Entry) i.next(); WrappedStatement ws = (WrappedStatement) entry.getKey(); - Exception stackTrace = (Exception) entry.getValue(); - log.warn("Closing a statement you left open, please do your own housekeeping", stackTrace); + if (trackStatements == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_TRUE_INT) + { + Exception stackTrace = (Exception) entry.getValue(); + log.warn("Closing a statement you left open, please do your own housekeeping", stackTrace); + } try { ws.close(); @@ -750,17 +759,14 @@ throw e; } - boolean isTrackStatements() + int getTrackStatements() { - if (mc == null) - return false; - else - return mc.getTrackStatements(); + return trackStatements; } void registerStatement(WrappedStatement ws) { - if (mc.getTrackStatements() == false) + if (trackStatements == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_FALSE_INT) return; synchronized (this) { @@ -772,7 +778,7 @@ void unregisterStatement(WrappedStatement ws) { - if (mc == null || mc.getTrackStatements() == false) + if (trackStatements == BaseWrapperManagedConnectionFactory.TRACK_STATEMENTS_FALSE_INT) return; synchronized (this) { 1.6 +4 -6 jbosscx/src/main/org/jboss/resource/adapter/jdbc/BaseWrapperManagedConnection.java Index: BaseWrapperManagedConnection.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/adapter/jdbc/BaseWrapperManagedConnection.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- BaseWrapperManagedConnection.java 23 Apr 2004 16:51:48 -0000 1.5 +++ BaseWrapperManagedConnection.java 13 Jul 2004 16:20:51 -0000 1.6 @@ -1,4 +1,3 @@ - /* * JBoss, the OpenSource J2EE webOS * @@ -6,7 +5,6 @@ * See terms of license at gnu.org. * */ - package org.jboss.resource.adapter.jdbc; import java.io.PrintWriter; @@ -40,8 +38,8 @@ * Created: Fri Apr 19 13:31:47 2002 * * @author <a href="mailto:d_j...@us...">David Jencks</a> - * @author <a href="mailto:bi...@jb...">Bill Burke</a> - * @version + * @author <a href="mailto:ad...@jb...">Adrian Brock</a> + * @version $Revision: 1.6 $ */ public abstract class BaseWrapperManagedConnection @@ -530,9 +528,9 @@ } - boolean getTrackStatements() + int getTrackStatements() { - return mcf.getTrackStatements(); + return mcf.trackStatements; } //private methods |