Props
을 올바르게 사용하는 방법을 알려 드리지 않겠습니다. 저의 첫 번째 생각은 객체가 생성되는 액터의 일부 속성을 가지고 있다는 것입니다. 이러한 속성에는 액터의 필드 값은 물론 배포 관련 정보 (예 : 사용할 디스패처)가 포함될 수 있습니다. 나중에는 실제 배우와 아무 관련이 없으므로 독립적으로 출하되어야합니다. 액터 만들기를위한 소품 이해
그러나 the documentation에서
은 좋은 연습이 (제거 문서)와 같은 배우 내의 정적 팩토리 메소드를 사용하는 것입니다 말했다public class DemoActor extends UntypedActor {
public static Props props(final int magicNumber) {
return Props.create(new Creator<DemoActor>() {
private static final long serialVersionUID = 1L;
@Override
public DemoActor create() throws Exception {
return new DemoActor(magicNumber);
}
});
}
}
나는 예를 들어 우리가 하나를 사용하려면이 매우 좋지 않다 생각 이제 Dispatcher가 필요하며 향후 요구 사항이 변경 될 것입니다. 그것은 (제 의견으로는) 잘못된 Actor 클래스를 수정하게 될 것입니다.
또 하나의 작고 완전히 주관적인 조언 : Akka로 시작한 분이라면 Scala를 사용한 적이 없으며 새로운 언어와 새로운 프레임 워크를 배울 필요가 없도록 Java를 사용하기로 결정했습니다. .. 그게 바로 내가 시작한 것과 지금 후회하고있는 것입니다. 완전히 논리적이지만 Scala를 목표로하는 더 많은 리소스 (공식 문서 제외)가있는 것 같습니다. 스칼라의 케이스 클래스가없는 불변의 메시지 클래스를 Java로 만들면 ... * 의심 스럽다면 스칼라를 액터 클래스와 메시지 클래스로 제한하고 Java에서 그 밖의 모든 작업을 수행하십시오. 그냥 내 의견. –