本文整理汇总了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
}