• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Scala WatchedEvent类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Scala中org.apache.zookeeper.WatchedEvent的典型用法代码示例。如果您正苦于以下问题:Scala WatchedEvent类的具体用法?Scala WatchedEvent怎么用?Scala WatchedEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了WatchedEvent类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Scala代码示例。

示例1: ApacheWatcher

//设置package包名称以及导入依赖的类
package com.twitter.finagle.serverset2.client.apache

import com.twitter.finagle.serverset2.client.{EventDeliveryThread, EventStats, WatchState}
import com.twitter.finagle.stats.{NullStatsReceiver, StatsReceiver}
import com.twitter.util.Var
import org.apache.zookeeper.{Watcher, WatchedEvent}

private[serverset2] class ApacheWatcher(statsIn: StatsReceiver = NullStatsReceiver)
    extends Watcher with EventStats {
  protected val stats = statsIn
  val state = Var[WatchState](WatchState.Pending)
  def process(event: WatchedEvent) = {
    event.getType match {
      case Watcher.Event.EventType.None =>
        EventDeliveryThread.offer(
          state,
          WatchState.SessionState(ApacheSessionState(event.getState)))
      case e =>
        EventDeliveryThread.offer(
          state,
          WatchState.Determined(EventFilter(ApacheNodeEvent(e))))
    }
  }
} 
开发者ID:wenkeyang,项目名称:finagle,代码行数:25,代码来源:ApacheWatcher.scala


示例2: ZooKeeperHealthHandler

//设置package包名称以及导入依赖的类
package com.twitter.finagle.zookeeper

import com.twitter.common.quantity.{Amount, Time => CommonTime}
import com.twitter.common.zookeeper.{ZooKeeperClient, ZooKeeperUtils}
import com.twitter.concurrent.{Offer, Broker, AsyncMutex}
import com.twitter.conversions.common.quantity._
import com.twitter.finagle.addr.StabilizingAddr.State._
import com.twitter.finagle.util.InetSocketAddressUtil
import com.twitter.util.Duration
import java.net.InetSocketAddress
import org.apache.zookeeper.Watcher.Event.KeeperState
import org.apache.zookeeper.{Watcher, WatchedEvent}
import scala.collection.JavaConverters._
import scala.collection._

private[finagle] class ZooKeeperHealthHandler extends Watcher {
  private[this] val mu = new AsyncMutex
  val pulse = new Broker[Health]()

  def process(evt: WatchedEvent) = for {
    permit <- mu.acquire()
    () <- evt.getState match {
      case KeeperState.SyncConnected => pulse ! Healthy
      case _ => pulse ! Unhealthy
    }
  } permit.release()
}

private[finagle] object DefaultZkClientFactory
  extends ZkClientFactory(Amount.of(
    ZooKeeperUtils.DEFAULT_ZK_SESSION_TIMEOUT.getValue.toLong,
    ZooKeeperUtils.DEFAULT_ZK_SESSION_TIMEOUT.getUnit).toDuration)

private[finagle] class ZkClientFactory(val sessionTimeout: Duration) {
  private[this] val zkClients: mutable.Map[Set[InetSocketAddress], ZooKeeperClient] = mutable.Map()

  def hostSet(hosts: String) = InetSocketAddressUtil.parseHosts(hosts).toSet

  def get(zkHosts: Set[InetSocketAddress]): (ZooKeeperClient, Offer[Health]) = synchronized {
    val client = zkClients.getOrElseUpdate(zkHosts, new ZooKeeperClient(
        Amount.of(sessionTimeout.inMillis.toInt, CommonTime.MILLISECONDS),
        zkHosts.asJava))
    // TODO: Watchers are tied to the life of the client,
    // which, in turn, is tied to the life of ZkClientFactory.
    // Maybe we should expose a way to unregister watchers.
    val healthHandler = new ZooKeeperHealthHandler
    client.register(healthHandler)
    (client, healthHandler.pulse.recv)
  }

  private[zookeeper] def clear() = synchronized { zkClients.clear() }
} 
开发者ID:wenkeyang,项目名称:finagle,代码行数:53,代码来源:ZkClientFactory.scala


示例3: ZKApi

//设置package包名称以及导入依赖的类
package org.kylin.scala.zookeeper

import org.apache.zookeeper.{WatchedEvent, Watcher, ZooKeeper}


object ZKApi {
  def main(args: Array[String]): Unit = {
    val zkAddress = "ip"
    val zkClientPort = "2181"
    val zkWatcher = new Watcher {
      override def process(event: WatchedEvent): Unit = println("watcher!")
    }
    val zkTest: ZooKeeper = new ZooKeeper(zkAddress, zkClientPort.toInt, zkWatcher)
    zkTest.getChildren("/", zkWatcher).toString.foreach(print)

  }
} 
开发者ID:jinjuting,项目名称:kylin-scala-1.1.0,代码行数:18,代码来源:ZKApi.scala



注:本文中的org.apache.zookeeper.WatchedEvent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Scala VectorBuilder类代码示例发布时间:2022-05-23
下一篇:
Scala sqrt类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap