技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

AkkaのMailboxサイズを引っこ抜く

高スペックマシンで普通に余裕があるのは当たり前として、問題は AthronNEO なんてへちょいスペックではたして動くだろうか?(;´∀`)
常時起動できないと集計にならんし、かといって高スペマシンの常時稼働はお財布に厳しい。
仕方がないので10秒ごと位にキューのサイズを確認するコードを埋め込んで、30分程様子を見る

で、Akka は 2 以降でMailboxのサイズを取得できなくしている。サイズ変更も認めていない。
気になるMaxSizeはなんと OutOfMemory 出るまで。
とはいえ、そんなのでErrorされても敵わないので、無理やりメールサイズを引っこ抜く。

package akka

import akka.actor.{LocalActorRef, ActorRef}
import org.slf4j.LoggerFactory

object AkkaUtil {
  val logger = LoggerFactory.getLogger(this.getClass)

  def localActorMessageSize(actor:ActorRef) {
    actor match {
      case c:LocalActorRef => logger.info("Current message size : %d".format(c.underlying.mailbox.numberOfMessages))
      case _ =>
    }
  }
}

非公式なやりかなので自己責任で

で、今動かそうとしたら(´・ω・`)な結果に

:::: ERRORS
        Server access Error: Unexpected end of file from server url=http://repo1.maven.org/maven2/org/scala-lang/jline/2.10.0/jline-2.10.0.pom

始めて動かす環境で sbt 走らせると必要なライブラリを落とすのだが、上記ファイルだけダウンロードできない、、、。
URLはあって、ファイルのリンクがあるのは間違いないですが、ファイルアクセスするとエラー、、、。
サーバ側のもんだいかなぁ