我正在面對Cassandra驅動程序中的內存泄漏問題。檢查內存堆錯誤後,我可以看到有一個警告,說我正在爲每個物理集羣創建多個集羣/會話,但我不應該這麼做。因爲在我的Akka配置中,我最多有32個,我可以想象我正在創建32個羣集/會話實例,並且很可能是我強制內存泄漏。在Akka模型中共享Cassandra集羣/會話
我現在的問題是。我如何才能在演員之間分享一個Cassandra集羣/會話實例而不會中斷Akka的無形演員範例?
問候
我正在面對Cassandra驅動程序中的內存泄漏問題。檢查內存堆錯誤後,我可以看到有一個警告,說我正在爲每個物理集羣創建多個集羣/會話,但我不應該這麼做。因爲在我的Akka配置中,我最多有32個,我可以想象我正在創建32個羣集/會話實例,並且很可能是我強制內存泄漏。在Akka模型中共享Cassandra集羣/會話
我現在的問題是。我如何才能在演員之間分享一個Cassandra集羣/會話實例而不會中斷Akka的無形演員範例?
問候
有一個單身(例如,你知道一類在結束的世界你的自舉實例只是一次),並構建您的行爲時傳遞的Props
。
object Main extends App {
val services = new Services
// ...
val actor1 = system.actorOf(Props(classOf[MyActor], services), "actor1")
val actor2 = system.actorOf(Props(classOf[MyActor], services), "actor2")
}
class Services {
val cassandraSession = ??? // ... however you create it
}
你也只是從object
創建卡桑德拉會話,指的是,但它一般不測試。
示例代碼是Scala,但在Java中同樣適用。
我在java中,但即使我將聚類和會話設置爲靜態,它也不會打破Akka的無法演變的狀態教條?這是我的問題的原因。我想用阿卡代理 – paul