You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2018/11/15 02:12:53 UTC

logging-log4j2 git commit: [LOG4J2-2505] Let JDBC PoolingDriverConnectionSource with Apache Commons DBCP configure a PoolableConnectionFactory. Use String[].

Repository: logging-log4j2
Updated Branches:
  refs/heads/release-2.x 285e1b8d8 -> 8025e3fa5


[LOG4J2-2505] Let JDBC PoolingDriverConnectionSource with Apache Commons
DBCP configure a PoolableConnectionFactory. Use String[].

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8025e3fa
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8025e3fa
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8025e3fa

Branch: refs/heads/release-2.x
Commit: 8025e3fa5fdbeb4d80a14b2d1745417af644b60a
Parents: 285e1b8
Author: Gary Gregory <ga...@gmail.com>
Authored: Wed Nov 14 19:12:49 2018 -0700
Committer: Gary Gregory <ga...@gmail.com>
Committed: Wed Nov 14 19:12:49 2018 -0700

----------------------------------------------------------------------
 .../jdbc/PoolableConnectionFactoryConfig.java   | 32 ++++++++++++--------
 1 file changed, 20 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8025e3fa/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/PoolableConnectionFactoryConfig.java
----------------------------------------------------------------------
diff --git a/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/PoolableConnectionFactoryConfig.java b/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/PoolableConnectionFactoryConfig.java
index 14237d8..0770962 100644
--- a/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/PoolableConnectionFactoryConfig.java
+++ b/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/PoolableConnectionFactoryConfig.java
@@ -17,8 +17,9 @@
 
 package org.apache.logging.log4j.core.appender.db.jdbc;
 
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.Objects;
+import java.util.List;
 
 import org.apache.commons.dbcp2.PoolableConnectionFactory;
 import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig;
@@ -53,8 +54,9 @@ public class PoolableConnectionFactoryConfig {
         @PluginBuilderAttribute
         private boolean cacheState;
 
+        // TODO
         @PluginElement("ConnectionInitSqls")
-        private Collection<String> connectionInitSqls;
+        private String[] connectionInitSqls;
 
         @PluginBuilderAttribute
         private Boolean defaultAutoCommit;
@@ -71,8 +73,10 @@ public class PoolableConnectionFactoryConfig {
         @PluginBuilderAttribute
         private int defaultTransactionIsolation = UNKNOWN_TRANSACTION_ISOLATION;
 
+        // TODO
         @PluginElement("DisconnectionSqlCodes")
-        private Collection<String> disconnectionSqlCodes = DEFAULT.getDisconnectionSqlCodes();
+        private String[] disconnectionSqlCodes = (String[]) (DEFAULT.getDisconnectionSqlCodes() == null ? null
+                : DEFAULT.getDisconnectionSqlCodes().toArray());
 
         @PluginBuilderAttribute
         private boolean autoCommitOnReturn = DEFAULT.isEnableAutoCommitOnReturn();
@@ -98,21 +102,30 @@ public class PoolableConnectionFactoryConfig {
         @PluginBuilderAttribute
         private int validationQueryTimeoutSeconds = -1;
 
+        private List<String> asList(final String[] array) {
+            return array == null ? null : Arrays.asList(array);
+        }
+
         @Override
         public PoolableConnectionFactoryConfig build() {
-            return new PoolableConnectionFactoryConfig(cacheState, connectionInitSqls, defaultAutoCommit,
+            return new PoolableConnectionFactoryConfig(cacheState, asList(connectionInitSqls), defaultAutoCommit,
                     defaultCatalog, defaultQueryTimeoutSeconds, defaultReadOnly, defaultTransactionIsolation,
-                    disconnectionSqlCodes, autoCommitOnReturn, fastFailValidation, maxConnLifetimeMillis,
+                    asList(disconnectionSqlCodes), autoCommitOnReturn, fastFailValidation, maxConnLifetimeMillis,
                     maxOpenPreparedStatements, poolStatements, rollbackOnReturn, validationQuery,
                     validationQueryTimeoutSeconds);
         }
 
+        public Builder setAutoCommitOnReturn(final boolean autoCommitOnReturn) {
+            this.autoCommitOnReturn = autoCommitOnReturn;
+            return this;
+        }
+
         public Builder setCacheState(final boolean cacheState) {
             this.cacheState = cacheState;
             return this;
         }
 
-        public Builder setConnectionInitSqls(final Collection<String> connectionInitSqls) {
+        public Builder setConnectionInitSqls(final String... connectionInitSqls) {
             this.connectionInitSqls = connectionInitSqls;
             return this;
         }
@@ -142,16 +155,11 @@ public class PoolableConnectionFactoryConfig {
             return this;
         }
 
-        public Builder setDisconnectionSqlCodes(final Collection<String> disconnectionSqlCodes) {
+        public Builder setDisconnectionSqlCodes(final String... disconnectionSqlCodes) {
             this.disconnectionSqlCodes = disconnectionSqlCodes;
             return this;
         }
 
-        public Builder setAutoCommitOnReturn(final boolean autoCommitOnReturn) {
-            this.autoCommitOnReturn = autoCommitOnReturn;
-            return this;
-        }
-
         public Builder setFastFailValidation(final boolean fastFailValidation) {
             this.fastFailValidation = fastFailValidation;
             return this;