Retained Messages
EMQXのRetained Messagesページでは、すべての保持メッセージを確認できます。ユーザーが保持メッセージをパブリッシュすると、EMQXはこのメッセージをシステム内に保存します。ユーザーはRetained Messagesページでこのメッセージを確認でき、保持メッセージのトピックをサブスクライブすると、EMQXはそのメッセージをトピックにパブリッシュし、ユーザーは即座にメッセージを受信できます。保持メッセージは、ユーザーが手動で削除しない限り、デフォルトで期限切れになりません。
Retained Messages List
Retained Messages Listには、現在システムに保存されているすべての保持メッセージが表示されます。リストにはトピック、QoSレベル、パブリッシャーのClient ID、保持メッセージがパブリッシュされた時間が含まれます。リスト内のShow PayloadボタンとDeleteボタンをクリックすることで、それぞれ保持メッセージのペイロードを確認したり、保持メッセージを削除したりできます。右上のRefreshボタンをクリックすると現在の保持メッセージリストが更新され、Settingsをクリックすると保持メッセージ設定ページに遷移します。
EMQXはデフォルトで3つのシステムトピックのメッセージを保持します。クラスター環境では、異なるシステムトピックの保持メッセージはノード名に基づいて保存されます。
- $SYS/brokers/+/sysdescr: 現在のEMQXノードのシステム説明。
- $SYS/brokers/+/version: 現在のEMQXノードのバージョン番号。
- $SYS/brokers: 現在のEMQXクラスター内のすべてのノードの数と名前。
Delete Retained Message
通常、クライアントから保持メッセージのトピックに空のメッセージをパブリッシュすることで保持メッセージを削除できます。この方法に加え、保持メッセージリストのDeleteボタンをクリックして特定の保持メッセージを削除することも可能です。さらに、Clear Allボタンを使用してクラスター全体の保持メッセージを一括削除することもできます。保持メッセージの有効期限は保持メッセージ設定ページで設定でき、有効期限に達した保持メッセージはEMQXが自動的に削除します。
View Payload
保持メッセージのペイロードを確認したい場合は、保持メッセージ項目のActions列にあるShow Payloadをクリックしてください。
ポップアップウィンドウでは、右下のCopyボタンをクリックしてペイロードをコピーできます。また、左下のドロップダウンリストからペイロードの表示形式を選択でき、JSONや16進数など特定のペイロード形式をより直感的に表示できます。
Retainer Settings
Retained Messagesページ右上のSettingsボタンをクリックすると、Management -> MQTT SettingsページのRetainerタブに遷移します。ここで保持メッセージ機能の有効/無効を切り替えたり、保持メッセージの設定を行えます。
TIP
保持メッセージ機能をトグルスイッチで無効にすると、Retained MessagesページにEnableボタンが表示されます。このボタンをクリックすると、Retainerタブに遷移します。

以下は各項目の詳細説明です。
設定項目 | タイプ | オプション値 | デフォルト値 | 説明 |
---|---|---|---|---|
Storage Type | - | Built-in Database | - | - |
Storage Method | Enum | ram , disc | ram | ram : メモリのみ保存disc : メモリとハードディスクに保存。 |
Max Retained Messages | Integer | ≥ 0 | 0 (無制限) | 0は無制限。 最大保持メッセージ数を設定すると、上限に達した際に既存のメッセージが置き換えられます。ただし新しいトピックの保持メッセージは上限を超えて保存できません。 |
Max Payload Size | Bytesize | 1MB | メッセージの最大ペイロードサイズ。超過した場合、EMQXは保持メッセージではなく通常メッセージとして扱います。 | |
Message Expire Interval | Duration | 期限切れなし | 保持メッセージの有効期限。0は期限切れなし。PUBLISHパケットにメッセージ有効期限が設定されている場合は、そちらが優先されます。 | |
Message Clear Interval | Duration | 無効 | 期限切れメッセージをクリーンアップする間隔。 | |
Max Publish Rate | Integer | ≥ 0 | 2000 | 保持メッセージのパブリッシュ最大レート。上限を超えたメッセージは配信されますが保持されません。 |
Deliver Rate | Integer | ≥ 0 | 1000 | 保持メッセージの配信最大レート。 |