小编Ric*_*nas的帖子

Scala 特征中的 this.getClass 用法

有人可以解释为什么这段代码以这种方式工作吗?我想制作我自己的概念证明 Loggable trait。计划是实例化一个记录器实例,以便继承的类不必做这项工作。但正如我所见,这不是我想要的。

这是代码:

package hu.jonas.simple

trait Loggable {
  val logger = java.util.logging.Logger.getLogger(this.getClass.getName)

  def whoAmI = {
    logger.info(this.getClass.getName)
  }
}

class Service extends Loggable {
  def answer = {
    whoAmI
  }
}

object Main extends App {
  new Service().answer
}
Run Code Online (Sandbox Code Playgroud)

它产生了以下日志消息:

Jan 25, 2013 2:02:07 PM hu.jonas.simple.Loggable$class whoAmI
INFO: hu.jonas.simple.Service
Run Code Online (Sandbox Code Playgroud)

为什么这两个 this.getClass.getName 不同?此外,当我实例化记录器以获得这个时,我应该写什么:

Jan 25, 2013 2:02:07 PM hu.jonas.simple.Service whoAmI
INFO: hu.jonas.simple.Service
Run Code Online (Sandbox Code Playgroud)

scala traits

5
推荐指数
1
解决办法
4339
查看次数

akka-remote可序列化警告

我正在使用akka远程处理并创建了一个小型Scala应用程序,它将消息发送到其他Scala应用程序.没关系,接收器应用程序设法接收消息,但是我得到了奇怪的序列化警告(如下所示).我尝试按照akka.io远程处理的文档配置序列化,但没有设法找到摆脱这些警告的设置.

我虽然做错了什么并克隆了akka/akka github repo,但我还是运行了 akka-samples/akka-sample-remote-scala.我很惊讶他们有同样的错误.

[WARN] [03/29/2016 16:53:40.137] [LookupSystem-akka.remote.default-remote-dispatcher-8] [akka.serialization.Serialization(akka:// LookupSystem)]使用默认的Java序列化程序class [sample.remote.calculator.Subtract]由于性能影响而不推荐使用.使用另一个序列化程序或使用设置'akka.actor.warn-about-java-serializer-usage'禁用此警告

任何人都能指出正确的方向吗?谢谢.

scala akka

4
推荐指数
2
解决办法
6720
查看次数

标签 统计

scala ×2

akka ×1

traits ×1