この例では、クライアントがブローカーから一時的または完全に切断された場合にメッセージを特定の LWT トピックのすべてのサブスクライバーに送信するように MQTT 用 Anypoint Connector (MQTT Connector) の LWT (Last Will and Testament) メッセージを設定します。LWT メッセージは、ブローカーへの接続が確立された時点で送信されます。
設定要素で LWT メッセージを設定し、ブローカーでそのメッセージを保持するかどうかを指定します。 保持するように MQTT メッセージが設定されている場合、ブローカーは、特定のトピックに送信された、保持としてマークされた最後のメッセージを保存します。メッセージが送信された時点で、一致するトピックをサブスクライブしているリスナーがない場合、ブローカーは 1 つのリスナーがそのトピックを接続するまでメッセージを保存します。その後、ブローカーはそのトピックに関して保持されている最後のメッセージをリスナーに配信します。
-
Studio で、[Global Elements (グローバル要素)] タブに移動します。
-
[Create (作成)] をクリックします。
-
検索条件ボックスに「
mqtt」と入力し、[MQTT3 Config (MQTT3 設定)] を選択します。 -
[OK] をクリックします。
-
[MQTT3 Config (MQTT3 設定)] > [Connection (接続)] で [MQTT3 Form Connection (MQTT3 フォーム接続)] を選択します。
-
[Client id generator (クライアント ID ジェネレーター)] で [Client id random suffix generator (クライアント ID ランダムサフィックスジェネレーター)] を選択します。
-
次の項目を設定します。
-
Client ID (クライアント ID):
smart-bentley-123 -
Username (ユーザー名):
usertest -
Password (パスワード):
passtest -
URL:
tcp://127.0.0.1:1883
-
-
[LWT] をクリックします。
-
次の項目を設定します。
-
Topic (トピック):
LWT -
Body (本文):
Testing body message -
Is retained (保持): True
-
-
[OK] をクリックします。
設定 XML エディターでは、<mqtt3:last-will-and-testament> 設定は次のように記述されます。
<mqtt3:config name="MQTT_LWT_Config">
<mqtt3:connection username="usertest" password="passtest" url="tcp://127.0.0.1:1883">
<mqtt3:client-id-generator >
<mqtt3:client-id-random-suffix-generator clientId="smart-bentley-123" />
</mqtt3:client-id-generator>
<mqtt3:last-will-and-testament topic="LWT" isRetained="true" >
<mqtt3:body ><![CDATA[Testing body message]]></mqtt3:body>
</mqtt3:last-will-and-testament>
</mqtt3:connection>
</mqtt3:config>