Core Frameworks
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

メッセージバス

メッセージバスは、メッセージを交換するための疎結合された方法を提供します。 メッセージを送信するクラスはメッセージバスを呼び出してメッセージを宛先に送信し、その宛先に登録されている他のクラス(リスナー)がメッセージを受信します。 リスナーは送信者に対して透過的であり、その逆も同様です。

主なメッセージングコンポーネントは次のとおりです。

宛先: メッセージが送信される論理的(物理的ではない)な指名された場所。

リスナー: 特定の宛先に送信されたメッセージを リッスン するクラス。

メッセージバス: 宛先登録を処理し、リスナーにメッセージを送信するフレームワーク。

メッセージ: オプションの応答先を含む、ペイロードとメタデータを含むことができるオブジェクト。

送信者: メッセージバスを呼び出して宛先のリスナーにメッセージを送信する任意のクラス。

次の図は、コンポーネントの相互作用を示しています。

メッセージングコンポーネントの相互作用の例

相互作用シーケンスの例を次に示します。

  1. 任意のクラスが登録されたDestinationMessageを送信します
  2. メッセージバスは、Messageを宛先の登録済みMessageListenerにディスパッチします。

メッセージ送信者は、メッセージバスを使用してメッセージを宛先に送信することにのみ関係していて、メッセージの受信者には関係ありません。 メッセージリスナーは、宛先でのメッセージの受信にのみ関係していて、メッセージの送信者には関係ありません。

同期および非同期メッセージング

メッセージバスは、同期および非同期でメッセージを送信します。

重要

同期メッセージは削除され、Liferay DXP 7.4 U49/Liferay Portal 7.4 GA49 以降ではサポートされなくなりました。

同期メッセージング: 送信者はメッセージを送信した後にブロックします。 送信者の条件(送信者のタイプによって決定される)が満たされると、送信者はブロックを解除して処理を続行します。

非同期メッセージング: 送信者は、メッセージの送信後すぐに処理を続行します。

次のトピックでは、両方のメッセージング方法について説明します。

パフォーマンスの調整

メッセージバスAPIを使用すると、登録イベント、宛先、宛先メッセージリスナー、およびメッセージキューの監視が容易になります。 宛先タイプ、メッセージキューパラメータ、およびスレッドパラメータを調整することにより、ニーズに合わせてメッセージバスコンポーネントを設定できます。 詳細については、 メッセージング パフォーマンスのチューニング を参照してください。

次のステップ

メッセージバスを初めて使用する場合は、Liferayに組み込まれている宛先上でリッスンすることをお勧めします。 次に、 メッセージのリッスン から始めます。