私はScala 2.12.2でAkka 2.5.2を使用しています。Akka ShardRegion.StartEntityメッセージはエンティティアクタに伝播されますか?
sharding docには、クラッシュ/リバランスされた断片をエンティティを回復するために、がShardRegion.StartEntity
メッセージを処理する必要があることが記載されています。
エンティティ自体が内部状態を回復する必要がある場合は、PersistenceActor
を実装する必要があります。これを機能させるには、エンティティに固有のpersistenceId
が必要です。
エンティティが再起動されると、問題はどのようにしてpersistenceId
が見つけられますか?これはShardRegion
俳優によって渡されますか?
ご清聴ありがとうございます。問題は、エンティティが開始されるとき(例えば、外部リソースのハートビートを監視する)、メッセージが受信される前に、何らかの内部作業を開始する必要があるということである。この場合、 'self()。path()。name()'アプローチが唯一の解決策かもしれないと思います。 – stackoverflower
幸いにも 'persistenceId'は' def'であり、 'val'ではありません – stackoverflower