3

StatelessWorkers の使用に関する詳細なドキュメントを見つけるのは難しいと思います。

これに似た何かを達成したい。ドキュメントで提案されているように、いくつかのメッセージを処理し、最終的に状態を保持するグレインをアクティブにするために、ステートレス ワーカーを使用する必要があります。

このグレインは決して状態を処理せず、メッセージを順番にキューに入れる必要がないため、「初期化」を処理するディスパッチャーグレインの複数のインスタンスが必要です。

このグレインをリエントラントとしてマークする必要がありますか? または StatelessWorker (属性) で十分ですか?

アクティベーションに関しては、IGrainWithIntegerKey(または同様のインターフェース)から継承する必要があるようです。これは、次のようにグレインを有効にする必要があることを意味します。

GrainClient.GrainFactory.GetGrain<IDispatcherActor>(0)

ID として常に 0 を使用しているため、グレインの複数のインスタンスがアクティブ化されますか? または、別の ID を作成する必要がありますか。次のように穀物を呼び出すことができないようです:

GrainClient.GrainFactory.GetGrain<IDispatcherActor>()

たとえ継承したとしてもIGrain

4

2 に答える 2