47.3. コンポーネントオプション
Paho コンポーネントは、以下に示す 31 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
automaticReconnect (共通) | 接続が失われた場合に、クライアントがサーバーへの再接続を自動的に試行するかどうかを設定します。false に設定すると、クライアントは、接続が失われた場合にサーバーへの自動再接続を試行しません。true に設定すると、接続が失われた場合に、クライアントはサーバーへの再接続を試みます。再接続を試行する前に、最初は 1 秒待機します。再接続の試行が失敗するたびに、遅延が 2 分になるまで遅延が 2 倍になり、その時点で遅延は 2 分のままになります。 | true | boolean |
brokerUrl (共通) | MQTT ブローカーの URL。 | tcp://localhost:1883 | String |
cleanSession (共通) | クライアントとサーバーが再起動と再接続の際に状態を記憶するかどうかを設定します。false に設定すると、クライアントとサーバーの両方が、クライアント、サーバー、および接続の再起動後も状態を維持します。状態が維持されるため: クライアント、サーバー、または接続が再起動した場合でも、メッセージ配信は指定された QOS を満たす信頼性があります。サーバーはサブスクリプションを永続的なものとして扱います。true に設定すると、クライアントとサーバーは、クライアント、サーバー、または接続の再起動後も状態を維持しません。これは、クライアント、サーバー、または接続が再起動した場合は、指定された QOS へのメッセージ配信を維持できないことを意味します。サーバーはサブスクリプションを非永続として扱います。 | true | boolean |
clientId (共通) | MQTT クライアント識別子。識別子は一意である必要があります。 | String | |
configuration (共通) | 共有 Paho 設定を使用します。 | PahoConfiguration | |
connectionTimeout (共通) | 接続タイムアウト値を設定します。この値は秒単位で測定され、MQTT サーバーへのネットワーク接続が確立されるまでクライアントが待機する最大時間間隔を定義します。デフォルトのタイムアウトは 30 秒です。値 0 はタイムアウト処理を無効にします。つまり、クライアントはネットワーク接続が成功するか失敗するまで待機します。 | 30 | int |
filePersistenceDirectory (共通) | ファイルの永続性によって使用されるベースディレクトリー。デフォルトでユーザーディレクトリーを使用します。 | String | |
keepAliveInterval (共通) | キープアライブ間隔を設定します。この値は秒単位で測定され、送受信されるメッセージ間の最大時間間隔を定義します。これにより、クライアントは、TCP/IP タイムアウトを待たずに、サーバーが使用できなくなったかどうかを検出できます。クライアントは、各キープアライブ期間内に少なくとも 1 つのメッセージがネットワークを通過することを保証します。期間中にデータ関連のメッセージがない場合、クライアントは非常に小さな ping メッセージを送信し、サーバーはそれを確認します。値 0 は、クライアントでのキープアライブ処理を無効にします。デフォルト値は、60 秒です。 | 60 | int |
maxInflight (共通) | 最大飛行時間を設定します。トラフィックの多い環境では、この値を増やしてください。デフォルト値は 10 です。 | 10 | int |
maxReconnectDelay (共通) | 再接続間の最大待機時間 (ミリ秒) を取得します。 | 128000 | int |
mqttVersion (共通) | MQTT バージョンを設定します。デフォルトのアクションは、バージョン 3.1.1 に接続し、それが失敗した場合は 3.1 にフォールバックすることです。バージョン 3.1.1 または 3.1 は、それぞれ MQTT_VERSION_3_1_1 または MQTT_VERSION_3_1 オプションを使用して、フォールバックなしで具体的に選択できます。 | int | |
persistence (共通) | 使用するクライアントの永続性 - メモリーまたはファイル。 列挙値:
| MEMORY | PahoPersistence |
qos (共通) | クライアントのサービス品質レベル (0 ~ 2)。 | 2 | int |
retained (共通) | オプションを保持します。 | false | boolean |
serverURIs (共通) | クライアントが接続できる 1 つ以上の serverURI のリストを設定します。複数の値はコンマで区切ることができます。各 serverURI は、クライアントが接続できるサーバーのアドレスを指定します。TCP 接続の tcp://と、SSL/TLS で保護された TCP 接続の ssl://の 2 種類の接続がサポートされています。たとえば、tcp://localhost:1883 ssl://localhost:8883 です。ポートが指定されていない場合、デフォルトで tcp://URI の場合は 1883、ssl://URI の場合は 8883 になります。serverURIs が設定されている場合は、MQTT クライアントのコンストラクターで渡された serverURI パラメーターをオーバーライドします。接続の試行が開始すると、クライアントはリスト内の最初の serverURI から開始し、サーバーとの接続が確立されるまでリストを処理します。どのサーバーにも接続できない場合は、接続の試行が失敗します。クライアントが接続可能なサーバーのリストを指定することには、いくつかの用途があります。高可用性よび高信頼性のメッセージ配信です。一部の MQTT サーバーは、2 つ以上の同等の MQTT サーバーが状態を共有する高可用性機能をサポートしています。MQTT クライアントは、同等のサーバーのいずれかに接続でき、クライアントがどのサーバーに接続しても、メッセージが確実に配信され、永続的なサブスクリプションが維持されることが保証されます。永続的なサブスクリプションや信頼できるメッセージ配信が必要な場合は、cleansession フラグを false に設定する必要があります。ハントリスト: (高可用性オプションのように) 等しくないサーバーのセットを指定できます。サーバー間で状態が共有されないため、信頼できるメッセージ配信および永続的なサブスクリプションは有効ではありません。ハントリストモードを使用する場合は、cleansession フラグを true に設定する必要があります。 | String | |
willPayload (共通) | 接続の LWT (Last Will and Testament) を設定します。このクライアントが予期せずサーバーへの接続を失った場合、サーバーは提供された詳細を使用してメッセージを自分自身に公開します。公開先のトピックからメッセージのバイトペイロード。メッセージを公開するサービスの品質 (0、1、または 2)。メッセージを保持するかどうか。 | String | |
willQos (共通) | 接続の LWT (Last Will and Testament) を設定します。このクライアントが予期せずサーバーへの接続を失った場合、サーバーは提供された詳細を使用してメッセージを自分自身に公開します。公開先のトピックからメッセージのバイトペイロード。メッセージを公開するサービスの品質 (0、1、または 2)。メッセージを保持するかどうか。 | int | |
willRetained (共通) | 接続の LWT (Last Will and Testament) を設定します。このクライアントが予期せずサーバーへの接続を失った場合、サーバーは提供された詳細を使用してメッセージを自分自身に公開します。公開先のトピックからメッセージのバイトペイロード。メッセージを公開するサービスの品質 (0、1、または 2)。メッセージを保持するかどうか。 | false | boolean |
willTopic (共通) | 接続の LWT (Last Will and Testament) を設定します。このクライアントが予期せずサーバーへの接続を失った場合、サーバーは提供された詳細を使用してメッセージを自分自身に公開します。公開先のトピックからメッセージのバイトペイロード。メッセージを公開するサービスの品質 (0、1、または 2)。メッセージを保持するかどうか。 | String | |
bridgeErrorHandler (consumer) | consumer の Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、consumer が受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
lazyStartProducer (producer) | 最初のメッセージで producer をレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |
autowiredEnabled (上級) | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | boolean |
client (上級) | 共有 Paho クライアントを使用します。 | MqttClient | |
customWebSocketHeaders (上級) | WebSocket 接続のカスタム WebSocket ヘッダーを設定します。 | プロパティー | |
executorServiceTimeout (上級) | executor サービスが終了時に強制終了する前に待機する時間を秒単位で設定します。この値を変更する必要があることが確実でない限り、この値を変更することはお勧めしません。 | 1 | int |
httpsHostnameVerificationEnabled (security) | SSL HostnameVerifier が有効かどうか。デフォルト値は true です。 | true | boolean |
password (セキュリティー) | MQTT ブローカーに対する認証に使用されるパスワード。 | String | |
socketFactory (セキュリティー) | 使用する SocketFactory を設定します。これにより、アプリケーションは、ネットワークソケットの作成に独自のポリシーを適用できます。SSL 接続を使用する場合は、SSLSocketFactory を使用して、アプリケーション固有のセキュリティー設定を提供できます。 | SocketFactory | |
sslClientProps (security) | 接続の SSL プロパティーを設定します。これらのプロパティーは、Java Secure Socket Extensions (JSSE) の実装が利用可能な場合にのみ有効であることに注意してください。カスタム SocketFactory が設定されていると、これらのプロパティーは使用されません。以下のプロパティーを使用できます。com.ibm.ssl.protocol: SSL、SSLv3、TLS、TLSv1、SSL_TLS のいずれか。com.ibm.ssl.contextProvider: 基礎となる JSSE プロバイダー。たとえば、IBMJSSE2 または SunJSSE com.ibm.ssl.keyStore です。KeyManager で使用する KeyStore オブジェクトを含むファイルの名前。たとえば /mydir/etc/key.p12 com.ibm.ssl.keyStorePassword です。KeyManager に使用させたい KeyStore オブジェクトのパスワード。パスワードはプレーンテキストにすることも、静的メソッド com.ibm.micro.security.Password.obfuscate(char password) を使用して難読化することもできます。これにより、単純で安全でない XOR および Base64 エンコーディングメカニズムを使用してパスワードが難読化されます。これは、平文のパスワードを難読化する単純なスクランブラーにすぎないことに注意してくださいcom.ibm.ssl.keyStoreType: 鍵ストアのタイプ (PKCS12、JKS、または JCEKS など)。com.ibm.ssl.keyStoreProvider 鍵ストアプロバイダー (IBMJCE または IBMJCEFIPS など)。com.ibm.ssl.trustStore: TrustManager で使用する KeyStore オブジェクトを含むファイルの名前。com.ibm.ssl.trustStorePassword: TrustManager で使用する TrustStore オブジェクトのパスワード。パスワードはプレーンテキストにすることも、静的メソッド com.ibm.micro.security.Password.obfuscate(char password) を使用して難読化することもできます。これにより、単純で安全でない XOR および Base64 エンコーディングメカニズムを使用してパスワードが難読化されます。これは、平文のパスワードを難読化する単純なスクランブラーにすぎないことに注意してください。com.ibm.ssl.trustStoreType: デフォルトの TrustManager で使用する KeyStore オブジェクトのタイプ。keyStoreType と同じ可能な値。com.ibm.ssl.trustStoreProvider: トラストストアプロバイダー (IBMJCE や IBMJCEFIPS など)。com.ibm.ssl.enabledCipherSuites: 有効になっている暗号のリスト。値はプロバイダーによって異なります (例: SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA)。com.ibm.ssl.keyManager: プラットフォームで使用可能なデフォルトのアルゴリズムを使用する代わりに、KeyManagerFactory オブジェクトをインスタンス化するために使用されるアルゴリズムを設定します。値の例: IbmX509 または IBMJ9X509。com.ibm.ssl.trustManager: プラットフォームで使用可能なデフォルトのアルゴリズムを使用する代わりに、TrustManagerFactory オブジェクトをインスタンス化するために使用されるアルゴリズムを設定します。値の例: PKIX または IBMJ9X509。 | プロパティー | |
sslHostnameVerifier (セキュリティー) | SSL 接続の HostnameVerifier を設定します。接続でのハンドシェイク後に使用されることに注意してください。ホスト名がエラーを検証した場合は、自分でアクションを実行する必要があります。デフォルトの HostnameVerifier はありません。 | HostnameVerifier | |
userName (セキュリティー) | MQTT ブローカーに対する認証に使用されるユーザー名。 | String |