5
Groups
이라는 보호자 아래에있는 최상위 액터가 있습니다. 데이터베이스를 시작할 때 데이터베이스에서 그룹 목록을로드하고 여러 개의 자식 액터를 만들어야합니다 데이터베이스의 해당 그룹을 기반으로합니다.데이터베이스에서 액터를 초기화하는 가장 좋은 방법은 무엇입니까
나는 그룹이로드되기 전에 모든 메시지가 처리하지 않는 한 나는 preStart
기능의 내부 데이터베이스로드 코드를 삽입했다.
현재 내 Groups
배우는 다음과 같다;
var groups: Map[String, ActorRef] = Map()
override def preStart() = {
groups = getGroupsFromDB() map createGroup
}
def createGroup(pair: (String, Long)) = {
val (name, id) = pair
val group = context.actorOf(Props(new Group(id, name)), name = name)
name -> group
}
그러나 데이터베이스 서버를 사용할 수없는 경우 어떻게 될지 예상하지 못합니다. 그렇다면 데이터베이스에서 데이터 초기화를 처리하는 가장 좋은 방법은 무엇입니까?
감사합니다. 해당 페이지에서 아이디어를 가져 와서 디자인에 사용했습니다. 즉 분리 된 저장/DB 행위자를 갖는다. 데이터베이스 연결을 관리하는 방법에 대한 코드 샘플이 있었으면 좋겠습니다. – Phenix