クラス Mqttv5PahoMessageDrivenChannelAdapter

実装されたすべてのインターフェース:
org.eclipse.paho.mqttv5.client.MqttCallbackAwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanSmartInitializingSingletonApplicationContextAwareApplicationEventPublisherAwareLifecyclePhasedSmartLifecycleExpressionCapableMessageProducerIntegrationPatternClientManager.ConnectCallbackMqttComponent<org.eclipse.paho.mqttv5.client.MqttConnectionOptions>NamedComponentIntegrationInboundManagementIntegrationManagementManageableLifecycleManageableSmartLifecycleTrackableComponent

public class Mqttv5PahoMessageDrivenChannelAdapter extends AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions> implements org.eclipse.paho.mqttv5.client.MqttCallback, MqttComponent<org.eclipse.paho.mqttv5.client.MqttConnectionOptions>
MQTTv5 の AbstractMqttMessageDrivenChannelAdapter 実装。

MqttProperties は、提供された HeaderMapper を介してマップされます。一方、通常の MqttMessage プロパティは常にヘッダーにマップされます。

内部の IMqttAsyncClient インスタンスに再接続を処理させるには、MqttConnectionOptions.setAutomaticReconnect(boolean) を true に設定することを推奨します。そうでない場合は、このコンポーネントを手動で再起動したときのみ、切断時の MqttConnectionFailedEvent 処理などで再接続を処理できます。

型変換の詳細については、setPayloadType(java.lang.Class<?>) を参照してください。

導入:
5.5.5
作成者:
Artem Bilan, Mikhail Polivakha, Lucas Bowler, Artem Vozhdayenko, Matthias Thoma
  • コンストラクターの詳細

    • Mqttv5PahoMessageDrivenChannelAdapter

      public Mqttv5PahoMessageDrivenChannelAdapter(StringSE url, StringSE clientId, org.eclipse.paho.mqttv5.common.MqttSubscription... mqttSubscriptions)
      MQTT URL、クライアント ID、サブスクリプションに基づいてインスタンスを作成します。
      パラメーター:
      url - 接続する MQTT URL。
      clientId - 一意のクライアント ID。
      mqttSubscriptions - MQTT サブスクリプション。
      導入:
      6.3
    • Mqttv5PahoMessageDrivenChannelAdapter

      public Mqttv5PahoMessageDrivenChannelAdapter(StringSE url, StringSE clientId, StringSE... topic)
    • Mqttv5PahoMessageDrivenChannelAdapter

      public Mqttv5PahoMessageDrivenChannelAdapter(org.eclipse.paho.mqttv5.client.MqttConnectionOptions connectionOptions, StringSE clientId, org.eclipse.paho.mqttv5.common.MqttSubscription... mqttSubscriptions)
      MQTT 接続オプション、クライアント ID、サブスクリプションに基づいてインスタンスを作成します。
      パラメーター:
      connectionOptions - MQTT 接続オプション。
      clientId - 一意のクライアント ID。
      mqttSubscriptions - MQTT サブスクリプション。
      導入:
      6.3
    • Mqttv5PahoMessageDrivenChannelAdapter

      public Mqttv5PahoMessageDrivenChannelAdapter(org.eclipse.paho.mqttv5.client.MqttConnectionOptions connectionOptions, StringSE clientId, StringSE... topic)
    • Mqttv5PahoMessageDrivenChannelAdapter

      public Mqttv5PahoMessageDrivenChannelAdapter(ClientManager<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions> clientManager, org.eclipse.paho.mqttv5.common.MqttSubscription... mqttSubscriptions)
      クライアントマネージャーとサブスクリプションに基づいてインスタンスを作成します。
      パラメーター:
      clientManager - クライアントマネージャー。
      mqttSubscriptions - MQTT サブスクリプション。
      導入:
      6.3
    • Mqttv5PahoMessageDrivenChannelAdapter

      public Mqttv5PahoMessageDrivenChannelAdapter(ClientManager<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions> clientManager, StringSE... topic)
      単一の ClientManager を使用する必要がある場合 (たとえば、MQTT 接続を再利用する場合) に、このコンストラクターを使用します。
      パラメーター:
      clientManager - クライアントマネージャー。
      topic - トピック。
      導入:
      6.0
  • メソッドの詳細

    • getConnectionInfo

      public org.eclipse.paho.mqttv5.client.MqttConnectionOptions getConnectionInfo()
      インターフェースからコピーされた説明: MqttComponent
      接続に関する情報を返します。
      次で指定:
      インターフェース MqttComponent<org.eclipse.paho.mqttv5.client.MqttConnectionOptions>getConnectionInfo 
      戻り値:
      情報。
    • setPersistence

      public void setPersistence(@Nullable org.eclipse.paho.mqttv5.client.MqttClientPersistence persistence)
    • setConverter

      public void setConverter(MqttMessageConverter converter)
      オーバーライド:
      クラス AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions>setConverter 
    • setMessageConverter

      public void setMessageConverter(SmartMessageConverter messageConverter)
    • setPayloadType

      public void setPayloadType(ClassSE<?> payloadType)
      MQTT メッセージからの変換後に生成するターゲットメッセージペイロードの型を設定します。デフォルトは byte[].class です - 変換せずに MQTT メッセージペイロードを抽出するだけです。MQTT メッセージ全体をペイロードとして生成するために MqttMessage クラスに設定できます。
      パラメーター:
      payloadType - MQTT メッセージを変換するために期待されるペイロード型。
    • setHeaderMapper

      public void setHeaderMapper(HeaderMapper<org.eclipse.paho.mqttv5.common.packet.MqttProperties> headerMapper)
    • onInit

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions>onInit 
    • doStart

      protected void doStart()
      クラスからコピーされた説明: MessageProducerSupport
      デフォルトでは何もしません。サブクラスは、ライフサイクル管理の動作が必要な場合、これをオーバーライドできます。"lifecycleLock" によって保護されています。
      オーバーライド:
      クラス MessageProducerSupportdoStart 
    • doStop

      protected void doStop()
      クラスからコピーされた説明: MessageProducerSupport
      デフォルトでは何もしません。サブクラスは、ライフサイクル管理の動作が必要な場合、これをオーバーライドできます。
      オーバーライド:
      クラス MessageProducerSupportdoStop 
    • destroy

      public void destroy()
      次で指定:
      インターフェース DisposableBeandestroy 
      次で指定:
      インターフェース IntegrationManagementdestroy 
      オーバーライド:
      クラス AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions>destroy 
    • setQos

      public void setQos(int... qos)
      クラスからコピーされた説明: AbstractMqttMessageDrivenChannelAdapter
      各トピックの QoS を設定します。単一の値がすべてのトピックに適用されます。それ以外の場合は、正しい数の QoS 値を指定する必要があります。
      オーバーライド:
      クラス AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions>setQos 
      パラメーター:
      qos - QoS 値。
    • addTopic

      public void addTopic(StringSE topic, int qos)
      クラスからコピーされた説明: AbstractMqttMessageDrivenChannelAdapter
      トピックを購読リストに追加します。
      オーバーライド:
      クラス AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions>addTopic 
      パラメーター:
      topic - トピック。
      qos - QoS。
    • removeTopic

      public void removeTopic(StringSE... topic)
      クラスからコピーされた説明: AbstractMqttMessageDrivenChannelAdapter
      購読リストからトピックを削除します。
      オーバーライド:
      クラス AbstractMqttMessageDrivenChannelAdapter<org.eclipse.paho.mqttv5.client.IMqttAsyncClient,org.eclipse.paho.mqttv5.client.MqttConnectionOptions>removeTopic 
      パラメーター:
      topic - トピック。
    • messageArrived

      public void messageArrived(StringSE topic, org.eclipse.paho.mqttv5.common.MqttMessage mqttMessage)
      次で指定:
      インターフェース org.eclipse.paho.mqttv5.client.MqttCallbackmessageArrived 
    • disconnected

      public void disconnected(org.eclipse.paho.mqttv5.client.MqttDisconnectResponse disconnectResponse)
      次で指定:
      インターフェース org.eclipse.paho.mqttv5.client.MqttCallbackdisconnected 
    • mqttErrorOccurred

      public void mqttErrorOccurred(org.eclipse.paho.mqttv5.common.MqttException exception)
      次で指定:
      インターフェース org.eclipse.paho.mqttv5.client.MqttCallbackmqttErrorOccurred 
    • deliveryComplete

      public void deliveryComplete(org.eclipse.paho.mqttv5.client.IMqttToken token)
      次で指定:
      インターフェース org.eclipse.paho.mqttv5.client.MqttCallbackdeliveryComplete 
    • connectComplete

      public void connectComplete(boolean isReconnect)
      インターフェースからコピーされた説明: ClientManager.ConnectCallback
      サーバーへの接続が正常に完了したときに呼び出されます。
      次で指定:
      インターフェース ClientManager.ConnectCallbackconnectComplete 
      パラメーター:
      isReconnect - true の場合、接続は自動再接続の結果です。
    • connectComplete

      public void connectComplete(boolean reconnect, StringSE serverURI)
      次で指定:
      インターフェース org.eclipse.paho.mqttv5.client.MqttCallbackconnectComplete 
    • authPacketArrived

      public void authPacketArrived(int reasonCode, org.eclipse.paho.mqttv5.common.packet.MqttProperties properties)
      次で指定:
      インターフェース org.eclipse.paho.mqttv5.client.MqttCallbackauthPacketArrived