Repository: hbase Updated Branches: refs/heads/master 79b11ae8f -> 387f90e39
HBASE-12127 Move the core Connection creation functionality into ConnectionFactory (Solomon Duskis) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/387f90e3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/387f90e3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/387f90e3 Branch: refs/heads/master Commit: 387f90e3947d972ee0147c266a8d9d166c4f0215 Parents: 79b11ae Author: Enis Soztutar <e...@apache.org> Authored: Wed Oct 1 19:00:59 2014 -0700 Committer: Enis Soztutar <e...@apache.org> Committed: Wed Oct 1 19:00:59 2014 -0700 ---------------------------------------------------------------------- .../hadoop/hbase/client/ConnectionFactory.java | 25 +++++++++++++++++++- .../hadoop/hbase/client/ConnectionManager.java | 20 +--------------- 2 files changed, 25 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/387f90e3/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionFactory.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionFactory.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionFactory.java index 6070615..74f7c54 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionFactory.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionFactory.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.client; import java.io.IOException; +import java.lang.reflect.Constructor; import java.util.concurrent.ExecutorService; import org.apache.hadoop.hbase.classification.InterfaceAudience; @@ -179,7 +180,29 @@ public class ConnectionFactory { user = provider.getCurrent(); } - return ConnectionManager.createConnection(conf, pool, user); + return createConnection(conf, false, pool, user); } + static Connection createConnection(final Configuration conf, final boolean managed, + final ExecutorService pool, final User user) + throws IOException { + String className = conf.get(HConnection.HBASE_CLIENT_CONNECTION_IMPL, + ConnectionManager.HConnectionImplementation.class.getName()); + Class<?> clazz = null; + try { + clazz = Class.forName(className); + } catch (ClassNotFoundException e) { + throw new IOException(e); + } + try { + // Default HCM#HCI is not accessible; make it so before invoking. + Constructor<?> constructor = + clazz.getDeclaredConstructor(Configuration.class, + boolean.class, ExecutorService.class, User.class); + constructor.setAccessible(true); + return (Connection) constructor.newInstance(conf, managed, pool, user); + } catch (Exception e) { + throw new IOException(e); + } + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/387f90e3/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java index 43a7973..7010fc2 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.client; import java.io.Closeable; import java.io.IOException; import java.io.InterruptedIOException; -import java.lang.reflect.Constructor; import java.lang.reflect.UndeclaredThrowableException; import java.util.ArrayList; import java.util.Date; @@ -408,24 +407,7 @@ class ConnectionManager { static ClusterConnection createConnection(final Configuration conf, final boolean managed, final ExecutorService pool, final User user) throws IOException { - String className = conf.get(HConnection.HBASE_CLIENT_CONNECTION_IMPL, - HConnectionImplementation.class.getName()); - Class<?> clazz = null; - try { - clazz = Class.forName(className); - } catch (ClassNotFoundException e) { - throw new IOException(e); - } - try { - // Default HCM#HCI is not accessible; make it so before invoking. - Constructor<?> constructor = - clazz.getDeclaredConstructor(Configuration.class, - boolean.class, ExecutorService.class, User.class); - constructor.setAccessible(true); - return (ClusterConnection) constructor.newInstance(conf, managed, pool, user); - } catch (Exception e) { - throw new IOException(e); - } + return (ClusterConnection) ConnectionFactory.createConnection(conf, managed, pool, user); } /**