本文整理汇总了Scala中org.apache.zookeeper.server.NIOServerCnxnFactory类的典型用法代码示例。如果您正苦于以下问题:Scala NIOServerCnxnFactory类的具体用法?Scala NIOServerCnxnFactory怎么用?Scala NIOServerCnxnFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NIOServerCnxnFactory类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: EmbeddedZookeeper
//设置package包名称以及导入依赖的类
package com.groupon.dse.testutils
import java.io.File
import java.net.InetSocketAddress
import kafka.utils.Utils
import org.apache.zookeeper.server.{NIOServerCnxnFactory, ZooKeeperServer}
class EmbeddedZookeeper(zkPort: Int, zkSnapshotDir: File, zkLogDir: File, autoStart: Boolean) {
val connectString = s"127.0.0.1:${zkPort}"
val tickTime = 500
val factory = new NIOServerCnxnFactory()
val maxZkConnections = 100
factory.configure(new InetSocketAddress("127.0.0.1", zkPort), maxZkConnections)
var zookeeper: ZooKeeperServer = null
def this(port: Int, autoStart: Boolean = true) = this(port, TestUtils.tempDir, TestUtils.tempDir, autoStart)
if (autoStart) {
start()
}
def start(): Unit = {
// With Zookeeper 3.4, the startup logic of the ZookeeperServer has changed where a sequence of:
// zookeeper.start() -> zookeeper.shutdown() -> zookeeper.start()
// will fail to restart the ZookeeperServer. Because of this, a new ZookeeperServer needs to be instantiated if
// we want to simulate Zookeeper unavailability during tests
zookeeper = new ZooKeeperServer(zkSnapshotDir, zkLogDir, tickTime)
factory.startup(zookeeper)
}
def stop(): Unit = {
zookeeper.shutdown()
zookeeper = null
}
def snapshotDir: File = zkSnapshotDir
def logDir: File = zkLogDir
def cleanShutdown(): Unit = {
shutdown()
Utils.rm(zkLogDir)
Utils.rm(zkSnapshotDir)
}
def shutdown(): Unit = {
Utils.swallow(zookeeper.shutdown())
Utils.swallow(factory.shutdown())
zookeeper = null
}
}