summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-08-26 14:56:23 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-08-26 14:56:23 +0200
commit7f9bf6b4ebe3d3aa814257ea057bb98b75a07afa (patch)
treee4aafc9a059085668318c77714ab353fcddef7b5 /zkfacade
parenta5ceb89ee1b79924050eee4c705ee6fe4f5d0329 (diff)
Override factory method
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java
index d8a1f0f28d9..4456970b130 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java
@@ -1,9 +1,12 @@
package com.yahoo.vespa.zookeeper;
+import org.apache.zookeeper.server.NIOServerCnxn;
import org.apache.zookeeper.server.NIOServerCnxnFactory;
-import org.apache.zookeeper.server.ServerCnxn;
import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.SocketChannel;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Logger;
@@ -35,8 +38,8 @@ public class RestrictedServerCnxnFactory extends NIOServerCnxnFactory {
}
@Override
- public void registerConnection(ServerCnxn connection) {
- String remoteHost = connection.getRemoteSocketAddress().getHostName();
+ protected NIOServerCnxn createConnection(SocketChannel socket, SelectionKey selection) throws IOException {
+ String remoteHost = ((InetSocketAddress)socket.getRemoteAddress()).getHostName();
if ( ! zooKeeperServerHostnames.contains(remoteHost)) {
String errorMessage = "Rejecting connection to ZooKeeper from " + remoteHost +
": This cluster only allow connection from nodes in this cluster. " +
@@ -44,7 +47,7 @@ public class RestrictedServerCnxnFactory extends NIOServerCnxnFactory {
log.warning(errorMessage);
throw new IllegalArgumentException(errorMessage);
}
- super.registerConnection(connection);
+ return super.createConnection(socket, selection);
}
}