MQTT Connector の LWT (Last Will And Testament) メッセージの設定

この例では、クライアントがブローカーから一時的または完全に切断された場合にメッセージを特定の LWT トピックのすべてのサブスクライバーに送信するように MQTT 用 Anypoint Connector (MQTT Connector) の LWT (Last Will and Testament) メッセージを設定します。LWT メッセージは、ブローカーへの接続が確立された時点で送信されます。

設定要素で LWT メッセージを設定し、ブローカーでそのメッセージを保持するかどうかを指定します。 保持するように MQTT メッセージが設定されている場合、ブローカーは、特定のトピックに送信された、保持としてマークされた最後のメッセージを保存します。メッセージが送信された時点で、一致するトピックをサブスクライブしているリスナーがない場合、ブローカーは 1 つのリスナーがそのトピックを接続するまでメッセージを保存します。その後、ブローカーはそのトピックに関して保持されている最後のメッセージをリスナーに配信します。

  1. Studio で、​[Global Elements (グローバル要素)]​ タブに移動します。

  2. [Create (作成)]​ をクリックします。

  3. 検索条件ボックスに「​mqtt​」と入力し、​[MQTT3 Config (MQTT3 設定)]​ を選択します。

  4. [OK]​ をクリックします。

  5. [MQTT3 Config (MQTT3 設定)]​ > ​[Connection (接続)]​ で ​[MQTT3 Form Connection (MQTT3 フォーム接続)]​ を選択します。

  6. [Client id generator (クライアント ID ジェネレーター)]​ で ​[Client id random suffix generator (クライアント ID ランダムサフィックスジェネレーター)]​ を選択します。

  7. 次の項目を設定します。

    • Client ID (クライアント ID)​: smart-bentley-123

    • Username (ユーザー名)​: usertest

    • Password (パスワード)​: passtest

    • URL​: tcp://127.0.0.1:1883

  8. [LWT]​ をクリックします。

  9. 次の項目を設定します。

    • Topic (トピック)​: LWT

    • Body (本文)​: Testing body message

    • Is retained (保持)​: True

  10. [OK]​ をクリックします。

[Last Will and Testament] 設定ウィンドウが選択されている [MQTT Config (MQTT 設定)] ウィンドウ

設定 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>