0
デッドレターを表示/キャプチャするために以下のコードを試しましたが、それはすべきではありません。私が行方不明になっている。正確には?私の目的は、デッドレターの俳優に配信されているすべての死んだ手紙を見るだけです。Fのデッドレターを購読して表示する方法
let system = ActorSystem.Create("FSharp")
let echoServer =
spawn system "EchoServer"
<| fun mailbox ->
let rec loop() =
actor {
let! message = mailbox.Receive()
match box message with
| :? string ->
printfn "Echo '%s'" message
return! loop()
| _ -> failwith "unknown message"
}
loop()
let boolval = system.EventStream.Subscribe(echoServer,typedefof<DeadLetterActorRef>)
echoServer.Tell("First Message")
echoServer.Tell("Second Message")
system.DeadLetters.Tell("Dead Message")
どのように機能していないのですか? –
それがうまくいかない場合は、おそらくあなたが持っているべきことをしていないでしょう。 :-) –
私は上記のコードを少し変更しました。 @John DeadLetters.Tell()を使用しているときはいつでも、メッセージはデッドレターのアクタに送信されます。しかし、コードで私はDeadLettersを購読しました。これは今、DeadLettersの代わりにすべてのデッド・レター・メッセージをechoServerアクターに送信することを意味します –