2014-01-16 2 views
1

저는 Coursera Reactive Programming Class (5 번째 주 - 이진 나무)에 대한 첫 번째 Akka 과제를 완료했습니다.Akka는 죽은 편지를 종결합니다

내 질문은 Akka 자체에 관한 것입니다.

내 앱이 제대로 실행되지만 치명적이지 않은 데드 레터 경고가 많이 발생합니다. 여기에 하나입니다

[INFO] [01/16/2014 15:09:41.668] [PostponeSpec-akka.actor.default-dispatcher-23] [akka://PostponeSpec/user/$c/$b/$a/$b/$a/$a/$b/$b/$a/$a] Message [akka.dispatch.sysmsg.Terminate] from Actor[akka://PostponeSpec/user/$c/$b/$a/$b/$a/$a/$b/$b/$a/$a#570299303] to Actor[akka://PostponeSpec/user/$c/$b/$a/$b/$a/$a/$b/$b/$a/$a#570299303] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 

나는 다른 사람들이 이것에 대해 물었다 통지하고, 공식적인 답변이 문제가되지 않는 것입니다, 그것은 로깅 설정을 업데이트하여 무시하고 숨길 수 있습니다 단지 자세한 정보입니다.

나는 이것을 무시하는 충고를 이해하지만, 여전히 Akka의 부분에 대한 부주의 한 결함처럼 보입니다. 이 간단한 학습 연습에서, 나는 정상적인 종료를 시작한 후에 내 배우가 결코 메시지를 보내지 않는다고 확신합니다. Akka는 이러한 이상적인 상황에서 데드 레터 대기열에 아무것도 넣지 않아야합니다. 이 죽은 편지에 대한 정당성은 무엇입니까? 또한 죽은 문자 메시지가 내 앱이 명시 적으로 보내는 메시지가 아니라 내부 메시지임을 알 수 있습니다.

+0

내게는 TestKit 배우 들간의 교환처럼 보입니다. "내부 Akka"메시지가 아닙니다. –

+1

이 질문을 더 명확하게하기 위해 제목을 덜 일반적으로 편집 할 수 있습니까? 감사합니다;) –

+0

당신이하고있는 것을 보여주는 코드 샘플없이 왜 이런 일이 일어나고 있는지 말하기 어렵습니다. 그것은 당신이 죽은 편지를보고있는 이유에 대해 더 많은 빛을 발산해야합니다 – cmbaxter

답변

1

코스 피드에서 질문을하고 질문을하는 사람은 다음을 기억합니다. 아동 배우는 스스로 멈추기로 결정할 수 있지만 부모는 똑같은 행동을하기로 결정할 수 있습니다. 이 시점에서 학부모가 메시지를 받기 전에 부모가 자체적으로 중지하면 데드 레터 대기열에서 끝나는 경우 학부모의 종료와 종료 (자녀) 메시지 배달 사이에는 고유 한 경쟁 조건이 있습니다.

관련 문제