Package org.apache.zookeeper.server
Class ServerCnxnFactory
- java.lang.Object
-
- org.apache.zookeeper.server.ServerCnxnFactory
-
- Direct Known Subclasses:
NettyServerCnxnFactory,NIOServerCnxnFactory
public abstract class ServerCnxnFactory extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected Set<ServerCnxn>cnxnsLoginloginprotected intmaxCnxnsprotected booleansecureprotected ZooKeeperServerzkServerstatic intZOOKEEPER_MAX_CONNECTION_DEFAULTstatic StringZOOKEEPER_SERVER_CNXN_FACTORY
-
Constructor Summary
Constructors Constructor Description ServerCnxnFactory()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddSession(long sessionId, ServerCnxn cnxn)abstract voidcloseAll(ServerCnxn.DisconnectReason reason)booleancloseSession(long sessionId, ServerCnxn.DisconnectReason reason)voidconfigure(InetSocketAddress addr, int maxcc)voidconfigure(InetSocketAddress addr, int maxcc, int backlog)abstract voidconfigure(InetSocketAddress addr, int maxcc, int backlog, boolean secure)protected voidconfigureSaslLogin()Initialize the server SASL if specified.static ServerCnxnFactorycreateFactory()static ServerCnxnFactorycreateFactory(int clientPort, int maxClientCnxns)static ServerCnxnFactorycreateFactory(int clientPort, int maxClientCnxns, int backlog)static ServerCnxnFactorycreateFactory(InetSocketAddress addr, int maxClientCnxns)static ServerCnxnFactorycreateFactory(InetSocketAddress addr, int maxClientCnxns, int backlog)abstract Iterable<Map<String,Object>>getAllConnectionInfo(boolean brief)abstract Iterable<ServerCnxn>getConnections()abstract InetSocketAddressgetLocalAddress()abstract intgetLocalPort()abstract intgetMaxClientCnxnsPerHost()Maximum number of connections allowed from particular host (ip)intgetMaxCnxns()Maximum number of connections allowed in the ZooKeeper systemintgetNumAliveConnections()abstract intgetSocketListenBacklog()The maximum queue length of the ZooKeeper server's socketstatic StringgetUserName()User who has started the ZooKeeper server user, it will be the logged-in user.ZooKeeperServergetZooKeeperServer()protected voidinitMaxCnxns()booleanisSecure()abstract voidjoin()protected booleanlimitTotalNumberOfCnxns()Ensure total number of connections are less than the maxCnxnsabstract voidreconfigure(InetSocketAddress addr)voidregisterConnection(ServerCnxn serverCnxn)voidremoveCnxnFromSessionMap(ServerCnxn cnxn)abstract voidresetAllConnectionStats()abstract voidsetMaxClientCnxnsPerHost(int max)Maximum number of connections allowed from particular host (ip)voidsetZooKeeperServer(ZooKeeperServer zks)abstract voidshutdown()abstract voidstart()voidstartup(ZooKeeperServer zkServer)abstract voidstartup(ZooKeeperServer zkServer, boolean startServer)voidunregisterConnection(ServerCnxn serverCnxn)
-
-
-
Field Detail
-
ZOOKEEPER_SERVER_CNXN_FACTORY
public static final String ZOOKEEPER_SERVER_CNXN_FACTORY
- See Also:
- Constant Field Values
-
ZOOKEEPER_MAX_CONNECTION_DEFAULT
public static final int ZOOKEEPER_MAX_CONNECTION_DEFAULT
- See Also:
- Constant Field Values
-
secure
protected boolean secure
-
maxCnxns
protected int maxCnxns
-
login
public Login login
-
zkServer
protected ZooKeeperServer zkServer
-
cnxns
protected final Set<ServerCnxn> cnxns
-
-
Method Detail
-
addSession
public void addSession(long sessionId, ServerCnxn cnxn)
-
removeCnxnFromSessionMap
public void removeCnxnFromSessionMap(ServerCnxn cnxn)
-
closeSession
public boolean closeSession(long sessionId, ServerCnxn.DisconnectReason reason)- Returns:
- true if the cnxn that contains the sessionId exists in this ServerCnxnFactory and it's closed. Otherwise false.
-
getLocalPort
public abstract int getLocalPort()
-
getConnections
public abstract Iterable<ServerCnxn> getConnections()
-
getNumAliveConnections
public int getNumAliveConnections()
-
getZooKeeperServer
public final ZooKeeperServer getZooKeeperServer()
-
configure
public void configure(InetSocketAddress addr, int maxcc) throws IOException
- Throws:
IOException
-
configure
public void configure(InetSocketAddress addr, int maxcc, int backlog) throws IOException
- Throws:
IOException
-
configure
public abstract void configure(InetSocketAddress addr, int maxcc, int backlog, boolean secure) throws IOException
- Throws:
IOException
-
reconfigure
public abstract void reconfigure(InetSocketAddress addr)
-
getMaxClientCnxnsPerHost
public abstract int getMaxClientCnxnsPerHost()
Maximum number of connections allowed from particular host (ip)
-
setMaxClientCnxnsPerHost
public abstract void setMaxClientCnxnsPerHost(int max)
Maximum number of connections allowed from particular host (ip)
-
isSecure
public boolean isSecure()
-
startup
public void startup(ZooKeeperServer zkServer) throws IOException, InterruptedException
- Throws:
IOExceptionInterruptedException
-
startup
public abstract void startup(ZooKeeperServer zkServer, boolean startServer) throws IOException, InterruptedException
- Throws:
IOExceptionInterruptedException
-
getSocketListenBacklog
public abstract int getSocketListenBacklog()
The maximum queue length of the ZooKeeper server's socket
-
join
public abstract void join() throws InterruptedException- Throws:
InterruptedException
-
shutdown
public abstract void shutdown()
-
start
public abstract void start()
-
setZooKeeperServer
public final void setZooKeeperServer(ZooKeeperServer zks)
-
closeAll
public abstract void closeAll(ServerCnxn.DisconnectReason reason)
-
createFactory
public static ServerCnxnFactory createFactory() throws IOException
- Throws:
IOException
-
createFactory
public static ServerCnxnFactory createFactory(int clientPort, int maxClientCnxns) throws IOException
- Throws:
IOException
-
createFactory
public static ServerCnxnFactory createFactory(int clientPort, int maxClientCnxns, int backlog) throws IOException
- Throws:
IOException
-
createFactory
public static ServerCnxnFactory createFactory(InetSocketAddress addr, int maxClientCnxns) throws IOException
- Throws:
IOException
-
createFactory
public static ServerCnxnFactory createFactory(InetSocketAddress addr, int maxClientCnxns, int backlog) throws IOException
- Throws:
IOException
-
getLocalAddress
public abstract InetSocketAddress getLocalAddress()
-
resetAllConnectionStats
public abstract void resetAllConnectionStats()
-
getAllConnectionInfo
public abstract Iterable<Map<String,Object>> getAllConnectionInfo(boolean brief)
-
unregisterConnection
public void unregisterConnection(ServerCnxn serverCnxn)
-
registerConnection
public void registerConnection(ServerCnxn serverCnxn)
-
configureSaslLogin
protected void configureSaslLogin() throws IOExceptionInitialize the server SASL if specified. If the user has specified a "ZooKeeperServer.LOGIN_CONTEXT_NAME_KEY" or a jaas.conf using "java.security.auth.login.config" the authentication is required and an exception is raised. Otherwise no authentication is configured and no exception is raised.- Throws:
IOException- if jaas.conf is missing or there's an error in it.
-
getUserName
public static String getUserName()
User who has started the ZooKeeper server user, it will be the logged-in user. If no user logged-in then system user
-
getMaxCnxns
public int getMaxCnxns()
Maximum number of connections allowed in the ZooKeeper system
-
initMaxCnxns
protected void initMaxCnxns()
-
limitTotalNumberOfCnxns
protected boolean limitTotalNumberOfCnxns()
Ensure total number of connections are less than the maxCnxns
-
-