You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2012/03/20 18:32:47 UTC
svn commit: r1303031 - in
/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool:
DataSourceProxy.java PoolConfiguration.java PoolProperties.java
PooledConnection.java jmx/ConnectionPool.java
Author: fhanik
Date: Tue Mar 20 17:32:47 2012
New Revision: 1303031
URL: http://svn.apache.org/viewvc?rev=1303031&view=rev
Log:
https://issues.apache.org/bugzilla/show_bug.cgi?id=50860 add option to log validation errors
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java?rev=1303031&r1=1303030&r2=1303031&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java (original)
+++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java Tue Mar 20 17:32:47 2012
@@ -1252,4 +1252,20 @@ public class DataSourceProxy implements
return getPoolProperties().getUseDisposableConnectionFacade();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setLogValidationErrors(boolean logValidationErrors) {
+ getPoolProperties().setLogValidationErrors(logValidationErrors);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean getLogValidationErrors() {
+ return getPoolProperties().getLogValidationErrors();
+ }
+
}
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java?rev=1303031&r1=1303030&r2=1303031&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java (original)
+++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java Tue Mar 20 17:32:47 2012
@@ -835,4 +835,16 @@ public interface PoolConfiguration {
*/
public boolean getUseDisposableConnectionFacade();
+ /**
+ * Set to true if you wish that errors from validation should be logged as error messages.
+ * @param logValidationErrors set to true to log validation errors
+ */
+ public void setLogValidationErrors(boolean logValidationErrors);
+
+ /**
+ * Returns true if errors that happen during validation will be logged
+ * @return true if errors that happen during validation will be logged
+ */
+ public boolean getLogValidationErrors();
+
}
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1303031&r1=1303030&r2=1303031&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original)
+++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Tue Mar 20 17:32:47 2012
@@ -86,7 +86,8 @@ public class PoolProperties implements P
protected boolean alternateUsernameAllowed = false;
protected boolean commitOnReturn = false;
protected boolean rollbackOnReturn = false;
- protected boolean useDisposableConnectionFacade;
+ protected boolean useDisposableConnectionFacade = false;
+ protected boolean logValidationErrors = false;
/**
@@ -1212,6 +1213,22 @@ public class PoolProperties implements P
return useDisposableConnectionFacade;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setLogValidationErrors(boolean logValidationErrors) {
+ this.logValidationErrors = logValidationErrors;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean getLogValidationErrors() {
+ return this.logValidationErrors;
+ }
+
@Override
protected Object clone() throws CloneNotSupportedException {
// TODO Auto-generated method stub
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=1303031&r1=1303030&r2=1303031&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (original)
+++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java Tue Mar 20 17:32:47 2012
@@ -420,6 +420,9 @@ public class PooledConnection {
this.lastValidated = now;
return true;
} else {
+ if (getPoolProperties().getLogValidationErrors()) {
+ log.error("Custom validation through "+poolProperties.getValidator()+" failed.");
+ }
return false;
}
}
@@ -441,9 +444,12 @@ public class PooledConnection {
stmt.close();
this.lastValidated = now;
return true;
- } catch (Exception ignore) {
- if (log.isDebugEnabled())
- log.debug("Unable to validate object:",ignore);
+ } catch (Exception ex) {
+ if (getPoolProperties().getLogValidationErrors()) {
+ log.warn("SQL Validation error", ex);
+ } else if (log.isDebugEnabled()) {
+ log.debug("Unable to validate object:",ex);
+ }
if (stmt!=null)
try { stmt.close();} catch (Exception ignore2){/*NOOP*/}
}
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java?rev=1303031&r1=1303030&r2=1303031&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java (original)
+++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java Tue Mar 20 17:32:47 2012
@@ -794,6 +794,24 @@ public class ConnectionPool extends Noti
return getPoolProperties().getUseDisposableConnectionFacade();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setLogValidationErrors(boolean logValidationErrors) {
+ getPoolProperties().setLogValidationErrors(logValidationErrors);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean getLogValidationErrors() {
+ return getPoolProperties().getLogValidationErrors();
+ }
+
+
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org