ZOOKEEPER-4962: Export bound client port for ZooKeeperServerEmbedded
Reviewers: anmolnar
Author: kezhuw
Closes #2302 from kezhuw/ZOOKEEPER-4962-ZooKeeperServerEmbedded-getClientPort
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
index 24e7f5b..b63280f 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
@@ -242,7 +242,6 @@ ServerCnxnFactory getSecureCnxnFactory() {
return secureCnxnFactory;
}
- // VisibleForTesting
public int getClientPort() {
if (cnxnFactory != null) {
return cnxnFactory.getLocalPort();
@@ -250,7 +249,6 @@ public int getClientPort() {
return 0;
}
- // VisibleForTesting
public int getSecureClientPort() {
if (secureCnxnFactory != null) {
return secureCnxnFactory.getLocalPort();
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.java
index 6fcd703..f73a1ee 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbedded.java
@@ -117,6 +117,16 @@ static ZookKeeperServerEmbeddedBuilder builder() {
void start(long startupTimeout) throws Exception;
/**
+ * Get client port for no secure connection.
+ */
+ int getClientPort();
+
+ /**
+ * Get client port for secure connection.
+ */
+ int getSecureClientPort();
+
+ /**
* Get a connection string useful for the client.
* @return the connection string
* @throws Exception in case the connection string is not available
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbeddedImpl.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbeddedImpl.java
index fb9e5eb..14e7cbb 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbeddedImpl.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/embedded/ZooKeeperServerEmbeddedImpl.java
@@ -107,8 +107,8 @@ protected QuorumPeer getQuorumPeer() throws SaslException {
@Override
public void start() {
super.start();
- boundClientPort = getClientPort();
- boundSecureClientPort = getSecureClientPort();
+ boundClientPort = super.getClientPort();
+ boundSecureClientPort = super.getSecureClientPort();
LOG.info("ZK Server {} started", this);
started.complete(null);
}
@@ -148,8 +148,8 @@ public void run() {
@Override
public void serverStarted() {
LOG.info("ZK Server started");
- boundClientPort = getClientPort();
- boundSecureClientPort = getSecureClientPort();
+ boundClientPort = super.getClientPort();
+ boundSecureClientPort = super.getSecureClientPort();
started.complete(null);
}
};
@@ -191,6 +191,16 @@ public void run() {
}
@Override
+ public int getClientPort() {
+ return boundClientPort;
+ }
+
+ @Override
+ public int getSecureClientPort() {
+ return boundSecureClientPort;
+ }
+
+ @Override
public String getConnectionString() {
return prettifyConnectionString(config.getClientPortAddress(), boundClientPort);
}