나는 stateful 싱글 톤에 대한 호출을 위임 한 액터가 있습니다. 싱글 톤은 객체 맵을 유지 관리하므로 상태 저장이 가능합니다. 이 싱글 톤 객체는 액터와 클래스에서 (액터가 아닌)이 맵에서 하나의 객체를 검색하는 곳에서 사용됩니다 (따라서 스레드로부터 안전하게 읽음).akka scala 액터의 싱글 톤 사용
class MyActor extends Actor{
def receive()={
case ACase => singleton.amethod()
case BCase => singleton.bmethod()
}
}
val singleton = new MyActorLogic
class MyActorLogic{
val map:Map[String, Object] = Map()
def amethod()=//alter the map
def readMap(value:String) = map(value) }
부작용/문제가있을 수 있습니까? 감사합니다
지도에 액터를 넣고 액터에 쿼리를 수행했습니다. 따라서 싱글 톤은 배우에게 통합되어 아무것도 노출시키지 않습니다. 나는 배우와 의존성 주입이 좋은 친구가 아니라고 생각하기 시작했습니다. 내가 맞습니까? – Matroska
DI는 잘 작동하지만 Spring 통합과 Guice 통합도 있습니다. –
간단한 설명을하면 훨씬 더 유용한 대답이 될 것입니다. 질문에 접근하지 않은 이유는 무엇입니까? 액터에서 맵을 캡슐화하거나 에이전트를 사용하는 것보다 왜 열등합니까? – mahonya