当前位置: 首页>>代码示例>>Scala>>正文


Scala Error类代码示例

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


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

示例1: execute

//设置package包名称以及导入依赖的类
package akka.dispatch

import java.util.concurrent.RejectedExecutionException

import akka.event.Logging.Error
import com.codahale.metrics.MetricRegistry
import com.evolutiongaming.util.dispatchers.{Instrumented, InstrumentedConfig}

trait InstrumentedDispatcherMixin extends Dispatcher {

  private lazy val instrumented = {
    val config = InstrumentedConfig(configurator.config)
    new Instrumented(config, metricRegistry)
  }

  override def execute(runnable: Runnable): Unit = {
    instrumented(runnable, super.execute)
  }

  
  protected[akka] override def registerForExecution(mbox: Mailbox, hasMessageHint: Boolean, hasSystemMessageHint: Boolean): Boolean = {
    if (mbox.canBeScheduledForExecution(hasMessageHint, hasSystemMessageHint)) { //This needs to be here to ensure thread safety and no races
      if (mbox.setAsScheduled()) {
        try {
          instrumented(mbox, executorService.execute)
          true
        } catch {
          case _: RejectedExecutionException ?
            try {
              instrumented(mbox, executorService.execute)
              true
            } catch { //Retry once
              case e: RejectedExecutionException ?
                mbox.setAsIdle()
                eventStream.publish(Error(e, getClass.getName, getClass, "registerForExecution was rejected twice!"))
                throw e
            }
        }
      } else false
    } else false
  }

  def metricRegistry: MetricRegistry
} 
开发者ID:evolution-gaming,项目名称:akka-tools,代码行数:45,代码来源:InstrumentedDispatcherMixin.scala


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