我正在尝试配置一些akka actor,以便在play2应用程序的上下文中拥有一个持久的邮箱。
正在读取application.conf
中的配置,因为MongoBasedMailboxType
正在实例化。
event-dispatcher { mailbox-type = akka.actor.mailbox.MongoBasedMailboxType }
但是我遇到了这个例外。
java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;
at akka.util.Duration$.<init>(Duration.scala:76)
at akka.util.Duration$.<clinit>(Duration.scala)
at akka.actor.mailbox.MongoBasedMailboxSettings.<init>(MongoBasedMailboxSettings.scala:21)
at akka.actor.mailbox.MongoBasedMailboxType.<init>(MongoBasedMailbox.scala:26)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
我认为原因是以下配置无法识别。
akka {
actor {
mailbox {
mongodb {
uri = "mongodb://localhost/akka.mailbox"
timeout {
# time to wait for a read to succeed before timing out the future
read = 3000 ms
# time to wait for a write to succeed before timing out the future
write = 3000 ms
}
}
}
}
}
我也尝试将akka {... }
包裹在play {}
但没有运气。
答案 0 :(得分:1)
Akka-mongo-mailbox 2.0.5依赖于akka-mailboxes-common 2.0.5,这取决于akka 2.0.5,但是玩2.1.5你有akka 2.1所以你得到api不匹配。不知道怎么办呢,请问akka邮件列表可能吗?
答案 1 :(得分:0)
问题已在邮件列表中得到解答:
“”“不知道任何实施持久性的开源项目 akka的邮箱2.1 for mongo或redis。
如果你想实现自己的,2.0.5的源代码 版本可在此处获得 https://github.com/akka/akka/tree/v2.0.5/akka-durable-mailboxes“”“
https://groups.google.com/forum/#!topic/akka-user/50c2HZa1OFU