Documentation

ディスパッチフレームワークを理解する

Liferay Dispatchは、Liferayのスケジューラーエンジンの上に構築された柔軟なフレームワークです。 これを使用して、Liferayインスタンス全体でカスタムロジックを含むタスクの追加、実行、およびスケジューリングができます。

ディスパッチフレームワークは、6つの重要な部分で構成されています。

ベースのDispatchTaskExecutor

ベースの DispatchTaskExecutor インターフェイスを実装すると、Liferayインスタンスでディスパッチタスクのテンプレートが作成されます。 DispatchTaskExecutorの各実装は、OSGiコンポーネントとして登録され、ディスパッチタスクによって実行されるロジックが含まれています。 すべてのディスパッチタスクは、DispatchTaskExecutorインターフェイスを実装し、dispatch.task.executor.nameおよびdispatch.task.executor.type OSGiコンポーネントプロパティを持つJavaクラスのインスタンスです。 詳しくは、 新しいディスパッチタスクエグゼキュータの作成 をご覧ください。

DispatchTrigger

DispatchTrigger インターフェイスは、DispatchTriggerModelPersistedModelを拡張します。 このエンティティは、Liferay(Quartz)トリガーのドラフトとして機能します。 これは、DispatchTaskExecutorとLiferayスケジューラーエンジン間の接続です。

DispatchMessageListener

DispatchMessageListener クラスは、すべてのディスパッチタスクエグゼキュータの実行を開始します。 これは、DispatchTaskExecutorサービスクラスのスケジュールされたインスタンスごとに新しいLiferayトリガーが作成されることを意味します。 このトリガーは同じ宛先(liferay/dispatch/executor)で作成され、LiferayトリガーをDispatchTaskExecutorに接続するペイロード(dispatchTriggerId)を持っています。 次に、Liferayスケジューラーエンジンは、適切なタイミングでメッセージ(dispatchTriggerId)を使用してDispatchMessageListenerをトリガーします。 dispatchTriggerIdを使用すると、DispatchMessageListenerは、DispatchTaskExecutorRegistryを使用してDispatchTaskExecutorの適切なインスタンスを見つけて実行します。

DispatchTaskExecutorRegistry

DispatchTaskExecutorRegistry インターフェイスを実装すると、ポータル内のDispatchTaskExecutorのすべての実装への参照が保持され、各dispatch.task.executor.type OSGiのプロパティ値が一意であることが検証されます。

DispatchLog

DispatchLog インターフェイスは、DispatchLogModelPersistedModelを拡張します。 このエンティティは、ディスパッチタスクの実行ログを保持します。

DispatchConfigurator

DispatchConfigurator クラスは、DispatchMessageListenerの宛先、executorServiceキューサイズとスレッドプール、RejectedExecutionHandlerなどのディスパッチフレームワークのプロパティを定義します。