JournaledGrain<TGrainState,TEventBase> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.LogConsistency.LogConsistentGrainBase<TGrainState>, Orleans.LogConsistency.ILogConsistentGrain, Orleans.LogConsistency.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.MultiCluster.ILogConsistencyProtocolParticipant where TGrainState : class, new() where TEventBase : class
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.LogConsistency.LogConsistentGrain<TGrainState>, Orleans.IGrain, Orleans.LogConsistency.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.MultiCluster.ILogConsistencyProtocolParticipant where TGrainState : class, new() where TEventBase : class
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.EventSourcing.LogConsistentGrain<TGrainState>, Orleans.EventSourcing.ILogConsistencyProtocolParticipant, Orleans.EventSourcing.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.IGrain where TGrainState : class, new() where TEventBase : class
type JournaledGrain<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)> = class
inherit LogConsistentGrainBase<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
interface ILogConsistentGrain
interface ILogConsistencyProtocolParticipant
interface IGrain
interface IAddressable
interface ILogViewAdaptorHost<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)>
interface IConnectionIssueListener
type JournaledGrain<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)> = class
inherit LogConsistentGrain<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
interface ILogConsistencyProtocolParticipant
interface IGrain
interface IAddressable
interface ILogViewAdaptorHost<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)>
interface IConnectionIssueListener
Public MustInherit Class JournaledGrain(Of TGrainState, TEventBase)
Inherits LogConsistentGrainBase(Of TGrainState)
Implements ILogConsistencyProtocolParticipant, ILogConsistentGrain, ILogViewAdaptorHost(Of TGrainState, TEventBase)
Public MustInherit Class JournaledGrain(Of TGrainState, TEventBase)
Inherits LogConsistentGrain(Of TGrainState)
Implements IGrain, ILogConsistencyProtocolParticipant, ILogViewAdaptorHost(Of TGrainState, TEventBase)
型パラメーター
- TGrainState
グレイン状態の種類、つまりイベント ログの集計ビュー。
- TEventBase
イベントの共通基本クラス
- 継承
- 継承
- 継承
- 派生
- 実装
-
IGrain IConnectionIssueListener ILogConsistentGrain ILogViewAdaptorHost<TGrainState,TEventBase> ILogConsistencyProtocolParticipant IAddressable IConnectionIssueListener ILogConsistencyProtocolParticipant ILogViewAdaptorHost<TGrainState,TEventBase>
コンストラクター
JournaledGrain<TGrainState,TEventBase>() |
JournaledGrain<TGrainState,TEventBase> クラスの新しいインスタンスを初期化します。 |
JournaledGrain<TGrainState,TEventBase>(IGrainIdentity, IGrainRuntime) |
このコンストラクターは、テスト コードで Grain を作成し、IGrainIdentity、IGrainRuntime、State をテスト ダブル (モック/スタブ) に置き換えることができる単体テストに特に役立ちます。 |
プロパティ
DefaultAdaptorFactory |
ログ整合性プロバイダーが指定されていない場合は、既定のストレージ プロバイダーを使用してバージョン管理された状態を格納します |
GrainContext |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 Grain) |
GrainFactory |
他のグレインへのアクセスに使用できるオブジェクトを取得します。 単体テスト用に直接作成された場合など、このグレインがランタイムに関連付けられていない場合は Null。 (継承元 Grain) |
GrainReference |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 Grain) |
IdentityString |
型と主キーを含む、グレインの SiloIdentity の文字列表現。 (継承元 Grain) |
RuntimeIdentity |
現在のサイロの一意識別子。 この文字列にはセマンティック コンテンツはありませんが、ログ記録に役立つ場合があります。 (継承元 Grain) |
ServiceProvider |
ランタイムによって管理される IServiceProvider を取得します。 単体テスト用に直接作成された場合など、このグレインがランタイムに関連付けられていない場合は Null。 (継承元 Grain) |
State |
現在の確認済み状態を取得します。 確認済みイベントのみを含みます。 |
TentativeState |
現在の仮の状態を取得します。 確認済みイベントと未確認イベントの両方が含まれます。 |
UnconfirmedEvents |
未確認のイベントの現在のキューを返します。 |
UnresolvedConnectionIssues |
現在解決されていないすべての接続の問題の一覧を取得します。 |
Version |
現在の確認済み状態のバージョンを取得します。 確認済みイベントの合計数に等しくなります。 |
メソッド
ConfirmEvents() |
以前に発生したすべてのイベントが確認されるまで待機します。 1 つ以上のイベントを発生させた後、続行する前にイベントが永続化されるようにするため、またはこのグレインの複数のインスタンスがある場合でも強力な整合性 (線形化可能性) を保証するために、これを待機します |
DeactivateOnIdle() |
現在のグレイン メソッドの呼び出しが完了した後、グレインのこのアクティブ化を非アクティブ化します。 この呼び出しにより、現在のグレインのアクティブ化が、現在のメソッドの最後に非アクティブ化および削除されるようにマークされます。 このグレインを次に呼び出すと、別のアクティブ化が使用されます。通常は、ランタイムによって新しいアクティブ化が自動的に作成されることを意味します。 (継承元 Grain) |
DelayDeactivation(TimeSpan) |
少なくとも指定された期間、このアクティブ化の非アクティブ化を遅延します。
正の |
DisableStatsCollection() |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
EnableStatsCollection() |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetLogger() |
このグレインのコードがトレースに使用できるロガー オブジェクトを返します。 ロガーの名前は、グレイン クラス名から派生します。 (継承元 Grain) |
GetLogger(String) |
このグレインのコードがトレースに使用できるロガー オブジェクトを返します。 (継承元 Grain) |
GetReminder(String) |
以前に登録されたアラームを返します。 (継承元 Grain) |
GetReminders() |
グレインによって登録されたすべてのアラームの一覧を返します。 (継承元 Grain) |
GetStats() |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetStreamProvider(String) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 Grain) |
GetStreamProviders() |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 Grain) |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
グレインが構築された直後に呼び出され、アダプターをインストールします。 ログ整合性プロバイダーには、このグレインに対して選択した型を使用してアダプターを構築するファクトリ メソッドが含まれています |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
グレインが構築された直後に呼び出され、アダプターをインストールします。 ログ整合性プロバイダーには、このグレインに対して選択した型を使用してアダプターを構築するファクトリ メソッドが含まれています |
MigrateOnIdle() |
このインスタンスを別の場所に移行する試みを開始します。 移行によって現在の RequestContextがキャプチャされ、アクティブ化の配置ディレクターが使用できるようになり、新しい場所を選択するときに考慮できるようになります。 移行は、要求が実行されていないときに非同期的に行われ、アクティブ化の配置ディレクターが別の場所を選択しない場合は発生しません。 (継承元 Grain) |
OnActivateAsync() |
既定では、アクティブ化時に、ジャーナリングされたグレインは、ストレージから最新のビューが読み込まれるまで待機します。 サブクラスはこの動作をオーバーライドし、必要に応じて待機をスキップできます。 |
OnActivateAsync() |
このメソッドは、グレインをアクティブ化するプロセスの最後に呼び出されます。 これは、メッセージがグレインにディスパッチされる前に呼び出されます。 宣言された永続的な状態のグレインの場合、State プロパティが設定された後にこのメソッドが呼び出されます。 (継承元 Grain) |
OnActivateAsync(CancellationToken) |
既定では、アクティブ化時に、ジャーナリングされたグレインは、ストレージから最新のビューが読み込まれるまで待機します。 サブクラスはこの動作をオーバーライドし、必要に応じて待機をスキップできます。 |
OnActivateAsync(CancellationToken) |
このメソッドは、グレインをアクティブ化するプロセスの最後に呼び出されます。 これは、メッセージがグレインにディスパッチされる前に呼び出されます。 宣言された永続的な状態のグレインの場合、State プロパティが設定された後にこのメソッドが呼び出されます。 (継承元 Grain) |
OnConnectionIssue(ConnectionIssue) |
基になる永続化またはレプリケーション プロトコルが何らかの種類の接続の問題に実行されている場合に呼び出されます。 ログ整合性プロトコルの正常性を監視したり、再試行の遅延をカスタマイズしたりするには、これをオーバーライドします。 スローされた例外はすべて、ILogViewAdaptorFactoryによってキャッチされ、ログに記録されます。 |
OnConnectionIssue(ConnectionIssue) |
基になる永続化またはレプリケーション プロトコルが何らかの種類の接続の問題に実行されている場合に呼び出されます。 ログ整合性プロトコルの正常性を監視したり、再試行の遅延をカスタマイズしたりするには、これをオーバーライドします。 スローされた例外はすべて、ILogConsistencyProviderによってキャッチされ、ログに記録されます。 |
OnConnectionIssueResolved(ConnectionIssue) |
以前に報告された接続の問題が解決されたときに呼び出されます。 これをオーバーライドして、ログ整合性プロトコルの正常性を監視します。 スローされた例外はすべて、ILogConsistencyProviderによってキャッチされ、ログに記録されます。 |
OnConnectionIssueResolved(ConnectionIssue) |
以前に報告された接続の問題が解決されたときに呼び出されます。 これをオーバーライドして、ログ整合性プロトコルの正常性を監視します。 スローされた例外はすべて、ILogViewAdaptorFactoryによってキャッチされ、ログに記録されます。 |
OnDeactivateAsync() |
このメソッドは、グレインを非アクティブ化するプロセスの開始時に呼び出されます。 (継承元 Grain) |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
このメソッドは、グレインを非アクティブ化するプロセスの開始時に呼び出されます。 (継承元 Grain) |
OnStateChanged() |
確認された状態が変更された (つまり、確認されたバージョン番号が大きい) 後に呼び出されます。 これをオーバーライドして、確認された状態の変更に対応します。 |
OnTentativeStateChanged() |
ローカル イベントまたはリモート イベントが原因で仮の状態が変更された可能性がある場合は常に呼び出されます。 状態の変化に対応するには、これをオーバーライドします。 |
Participate(IGrainLifecycle) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 Grain) |
Participate(IGrainLifecycle) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 LogConsistentGrain<TView>) |
Participate(IGrainLifecycle) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 (継承元 LogConsistentGrain<TView>) |
RaiseConditionalEvent<TEvent>(TEvent) |
条件付きでイベントを発生させます。 競合がない場合、つまり、その間に他のイベントが発生しなかった場合にのみ成功します。 |
RaiseConditionalEvents<TEvent>(IEnumerable<TEvent>) |
条件付きで、アトミック シーケンスとして複数のイベントを発生させます。 競合がない場合、つまり、その間に他のイベントが発生しなかった場合にのみ成功します。 |
RaiseEvent<TEvent>(TEvent) |
イベントを発生させます。 |
RaiseEvents<TEvent>(IEnumerable<TEvent>) |
アトミック シーケンスとして複数のイベントを発生させます。 |
RefreshNow() |
現在の最新の状態を取得し、以前に発生したすべてのイベントを確認します。 実質的に、これによりグローバル状態との同期が強制されます。 このグレインの複数のインスタンスがある場合でも、厳密な整合性 (線形化可能性) を確保するために状態を読み取る前にこれを待つ |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
定期的な通知 (アラーム) をグレインに送信する、永続的で信頼性の高いアラームを登録します。
グレインは |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
古い.
このグレインに定期的なコールバックを送信するタイマーを登録します。 (継承元 Grain) |
RetrieveConfirmedEvents(Int32, Int32) |
確認されたイベント シーケンスのセグメントを取得します (ストレージから取得する場合があります)。 イベントを読み取りできない場合は、NotSupportedException をスローします。 イベントを使用できるかどうか、および使用できる期間は、使用されるプロバイダーとその構成方法によって異なります。 |
TransitionState(TGrainState, TEventBase) |
状態にイベントを適用する方法を定義します。 サブクラスでオーバーライドされない限り、イベントをパラメーターとして、状態に対して動的な "Apply" 関数を呼び出します。 このメソッドによってスローされるすべての例外は、ログ ビュー プロバイダーによってキャッチされ、ログに記録されます。 これをオーバーライドして、特定のイベントの状態を遷移する方法をカスタマイズします。 |
UnregisterReminder(IGrainReminder) |
以前に登録されたアラームの登録を解除します。 (継承元 Grain) |
明示的なインターフェイスの実装
拡張メソッド
DeactivateOnIdle(IGrainBase) |
現在のグレイン メソッドの呼び出しが完了した後、このグレインアクティブ化を非アクティブ化します。 この呼び出しにより、現在のグレインのアクティブ化が、現在のメソッドの最後に非アクティブ化および削除されるようにマークされます。 このグレインを次に呼び出すと、別のアクティブ化が使用されます。通常は、ランタイムによって新しいアクティブ化が自動的に作成されることを意味します。 |
MigrateOnIdle(IGrainBase) |
このインスタンスを別の場所に移行する試みを開始します。 移行によって現在の RequestContextがキャプチャされ、アクティブ化の配置ディレクターが使用できるようになり、新しい場所を選択するときに考慮できるようになります。 移行は、要求が実行されていないときに非同期的に行われ、アクティブ化の配置ディレクターが別の場所を選択しない場合は発生しません。 |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions) |
グレイン タイマーを作成します。 |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan) |
グレイン タイマーを作成します。 |
RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan) |
グレイン タイマーを作成します。 |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions) |
グレイン タイマーを作成します。 |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan) |
グレイン タイマーを作成します。 |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan) |
グレイン タイマーを作成します。 |
AsReference(IAddressable, Type) |
指定されたグレインへの型指定された参照を返します。 |
AsReference<TGrainInterface>(IAddressable) |
指定されたグレインへの型指定された参照を返します。 |
BindGrainReference(IAddressable, IGrainFactory) |
指定された IGrainFactoryにグレイン参照をバインドします。 |
Cast(IAddressable, Type) |
指定されたグレインへの型指定された参照を返します。 |
Cast<TGrainInterface>(IAddressable) |
指定されたグレインへの型指定された参照を返します。 |
GetGrainId(IAddressable) |
指定されたグレインに対応するグレイン ID を返します。 |
GetGrainIdentity(IGrain) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetPrimaryKey(IGrain) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetPrimaryKey(IGrain, String) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetPrimaryKey(IAddressable) |
グレイン主キーの Guid 表現を返します。 |
GetPrimaryKey(IAddressable, String) |
グレイン主キーの Guid 表現を返します。 |
GetPrimaryKeyLong(IGrain) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetPrimaryKeyLong(IGrain, String) |
標準的なイベント ソーシング用語を使用したログ整合性グレインの基本クラス。 すべての操作は再入セーフです。 |
GetPrimaryKeyLong(IAddressable) |
グレイン主キーの |
GetPrimaryKeyLong(IAddressable, String) |
グレイン主キーの |
GetPrimaryKeyString(IAddressable) |
グレインの |
IsPrimaryKeyBasedOnLong(IAddressable) |
主キーの一部が |
GetReminder(Grain, String) |
以前に登録されたアラームを返します。 |
GetReminder(IGrainBase, String) |
以前に登録されたアラームを返します。 |
GetReminders(Grain) |
グレインによって登録されたすべてのアラームの一覧を返します。 |
GetReminders(IGrainBase) |
グレインによって登録されたすべてのアラームの一覧を返します。 |
RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan) |
定期的な通知 (アラーム) をグレインに送信する、永続的で信頼性の高いアラームを登録します。
グレインは |
RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan) |
定期的な通知 (アラーム) をグレインに送信する、永続的で信頼性の高いアラームを登録します。
グレインは |
UnregisterReminder(Grain, IGrainReminder) |
以前に登録されたアラームの登録を解除します。 |
UnregisterReminder(IGrainBase, IGrainReminder) |
以前に登録されたアラームの登録を解除します。 |
GetStreamProvider(Grain, String) |
指定した |
GetStreamProvider(IGrainBase, String) |
指定した |
GetLogger(Grain) |
このグレインのコードがトレースに使用できるロガー オブジェクトを返します。 ロガーの名前は、グレイン クラス名から派生します。 |
GetLogger(Grain, String) |
このグレインのコードがトレースに使用できるロガー オブジェクトを返します。 |
GetGrainStorage(Grain, IServiceProvider) |
グレインの種類に関連付けられているストレージ プロバイダーを取得します。 |