diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-08-26 14:56:23 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-08-26 14:56:23 +0200 |
commit | 7f9bf6b4ebe3d3aa814257ea057bb98b75a07afa (patch) | |
tree | e4aafc9a059085668318c77714ab353fcddef7b5 /zkfacade | |
parent | a5ceb89ee1b79924050eee4c705ee6fe4f5d0329 (diff) |
Override factory method
Diffstat (limited to 'zkfacade')
-rw-r--r-- | zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java | 11 |
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); } } |