37.3. 구성 요소 옵션
Paho 구성 요소는 아래에 나열된 31 옵션을 지원합니다.
이름 | 설명 | Default | 유형 |
---|---|---|---|
automaticReconnect (common) | 연결이 손실되는 경우 클라이언트가 서버에 자동으로 다시 연결할지 여부를 설정합니다. false로 설정하면 연결이 손실되는 경우 클라이언트는 서버에 자동으로 다시 연결하지 않습니다. true로 설정하면 연결이 손실되면 클라이언트가 서버에 다시 연결을 시도합니다. 처음에 다시 연결하려고 시도하기 전에 1 초를 기다릴 것입니다. 모든 다시 연결 시도에 대해 지연은 2 분 동안 지연이 2 분 동안 유지됩니다. | true | boolean |
brokerUrl (common) | MQTT 브로커의 URL입니다. | tcp://localhost:1883 | 문자열 |
cleanSession (공용) | 다시 시작 및 다시 연결 시 클라이언트 및 서버가 상태를 확인해야 하는지 여부를 설정합니다. false로 설정하면 클라이언트 및 서버가 클라이언트, 서버 및 연결을 다시 시작하면 상태가 유지됩니다. 상태가 유지 관리되면 메시지 전달은 클라이언트, 서버 또는 연결이 재시작되는 경우에도 지정된 QOS를 안정적으로 충족시킵니다. 서버는 서브스크립션을 고집된 것으로 처리합니다. true로 설정하면 클라이언트와 서버가 클라이언트, 서버 또는 연결을 다시 시작하면 상태가 유지되지 않습니다. 즉 클라이언트, 서버 또는 연결이 다시 시작되면 지정된 QOS에 대한 메시지 전달을 유지할 수 없습니다. 즉, 서버에서 서브스크립션을 취소할 수 없음으로 처리합니다. | true | boolean |
ClientID (common) | MQTT 클라이언트 식별자 식별자는 고유해야 합니다. | 문자열 | |
구성 (공용) | 공유된 Paho 구성을 사용합니다. | PahoConfiguration | |
connectionTimeout (common) | 연결 시간 초과 값을 설정합니다. 이 값은 클라이언트가 MQTT 서버에 대한 네트워크 연결이 설정될 때까지 클라이언트가 대기하는 최대 시간 간격을 정의합니다. 기본 제한 시간은 30초입니다. 값이 0이면 시간 초과 처리가 비활성화됩니다. 즉, 클라이언트는 네트워크 연결이 성공적으로 수행되거나 실패할 때까지 기다립니다. | 30 | int |
FilePersistenceDirectory (common) | 파일 지속성에 사용되는 기본 디렉터리입니다. 기본적으로 사용자 디렉터리를 사용합니다. | 문자열 | |
keepAliveInterval (common) | keep live interval을 설정합니다. 이 값은 전송 또는 수신한 메시지 간 최대 시간 간격을 초 단위로 측정합니다. 이를 통해 클라이언트는 TCP/IP 시간 초과를 기다릴 필요 없이 서버를 더 이상 사용할 수 없는지 여부를 감지할 수 있습니다. 고객은 각 기간 내에 하나 이상의 메시지가 네트워크를 통해 이동되도록 합니다. 기간 동안 데이터 관련 메시지가 없으면 클라이언트는 서버가 승인할 매우 작은 ping 메시지를 보냅니다. 값이 0이면 클라이언트에서 keepalive 처리를 비활성화합니다. 기본값은 60초입니다. | 60 | int |
maxInflight (일반적으로) | max inflight을 설정합니다. 높은 트래픽 환경에서 이 값을 늘리십시오. 기본값은 10입니다. | 10 | int |
maxReconnectDelay (common) | 다시 연결할 때까지 대기하려면 최대 시간(밀리)을 가져옵니다. | 128000 | int |
mqttVersion (common) | MQTT 버전을 설정합니다. 기본 조치는 버전 3.1.1과 연결하고 실패하는 경우 3.1로 대체되는 것입니다. 3.1.1 버전 또는 3.1은 MQTT_VERSION_3_1_1 또는 MQTT_VERSION_3_1 옵션을 각각 사용하여 대체 없이 선택할 수 있습니다. | int | |
지속성 (공용) | 사용할 클라이언트 지속성(메모리 또는 파일) CloudEvent 값:
| MEMORY | PahoPersistence |
QoS( 공용) | 클라이언트 서비스 품질 (0-2). | 2 | int |
유지 됨(공용) | 유지 옵션. | false | boolean |
serverURI (common) | 클라이언트가 연결할 수 있는 하나 이상의 serverURI 목록을 설정합니다. 여러 서버를 쉼표로 분리할 수 있습니다. 각 serverURI는 클라이언트가 연결할 수 있는 서버의 주소를 지정합니다. TCP 연결에 대해 tcp://와 SSL/TLS에서 보호하는 TCP 연결의 경우 ssl:// 두 가지 연결 유형이 지원됩니다. 예: tcp://localhost:1883 ssl://localhost:8883 포트가 지정되지 않은 경우 기본적으로 tcp:// URI의 경우 1883, ssl:// URI의 경우 8883입니다. serverURI가 설정되면 MQTT 클라이언트의 생성자에서 전달된 serverURI 매개변수를 덮어씁니다. 연결 시도가 시작되면 클라이언트는 목록에서 첫 번째 serverURI로 시작하고 서버와의 연결이 설정될 때까지 목록을 처리합니다. 서버에 연결할 수 없는 경우 연결 시도가 실패합니다. 클라이언트가 연결할 수 있는 서버 목록을 지정하는 경우 고가용성 및 안정적인 메시지 전달인 Some MQTT 서버는 두 개 이상의 동일한 MQTT 서버 상태가 있는 고가용성 기능을 지원합니다. MQTT 클라이언트는 동일한 서버에 연결할 수 있으며, 클라이언트가 연결하는 서버에 관계없이 메시지가 안정적으로 전달되고 불안정한 서브스크립션이 유지되도록 보장해야 합니다. stable subscriptions 및/또는 신뢰할 수 있는 메시지 전달이 필요한 경우 cleansession 플래그를 false로 설정해야 합니다. (고가용성 옵션에서와 같이) 같지 않은 서버 집합을 지정할 수 있습니다. 신뢰할 수 있는 메시지 전달 및 미완성 구독을 통해 상태를 공유하지 않으므로 사용할 수 없습니다.As no state is shared across the servers reliable message delivery and granularity subscriptions are not valid. 기록 목록 모드가 사용되는 경우 cleansession 플래그를 true로 설정해야 합니다. | 문자열 | |
WillPayload (common) | 연결에 대한 Last Will and Testament (LWT)를 설정합니다. 이 클라이언트가 예기치 않게 서버에 대한 연결이 끊어지면 서버는 제공된 세부 정보를 사용하여 자체적으로 메시지를 게시합니다. 메시지의 바이트 페이로드에 게시할 주제입니다. 메시지를 게시하는 서비스 품질(0, 1 또는 2)입니다. 메시지를 보관해야 하는지 여부입니다. | 문자열 | |
willQos (common) | 연결에 대한 Last Will and Testament (LWT)를 설정합니다. 이 클라이언트가 예기치 않게 서버에 대한 연결이 끊어지면 서버는 제공된 세부 정보를 사용하여 자체적으로 메시지를 게시합니다. 메시지의 바이트 페이로드에 게시할 주제입니다. 메시지를 게시하는 서비스 품질(0, 1 또는 2)입니다. 메시지를 보관해야 하는지 여부입니다. | int | |
willRetained (common) | 연결에 대한 Last Will and Testament (LWT)를 설정합니다. 이 클라이언트가 예기치 않게 서버에 대한 연결이 끊어지면 서버는 제공된 세부 정보를 사용하여 자체적으로 메시지를 게시합니다. 메시지의 바이트 페이로드에 게시할 주제입니다. 메시지를 게시하는 서비스 품질(0, 1 또는 2)입니다. 메시지를 보관해야 하는지 여부입니다. | false | boolean |
willTopic (common) | 연결에 대한 Last Will and Testament (LWT)를 설정합니다. 이 클라이언트가 예기치 않게 서버에 대한 연결이 끊어지면 서버는 제공된 세부 정보를 사용하여 자체적으로 메시지를 게시합니다. 메시지의 바이트 페이로드에 게시할 주제입니다. 메시지를 게시하는 서비스 품질(0, 1 또는 2)입니다. 메시지를 보관해야 하는지 여부입니다. | 문자열 | |
bridgeErrorHandler (consumer) | 사용자가 Camel 라우팅 오류 핸들러로 브리징할 수 있습니다. 이는 소비자가 수신되는 메시지 또는 등을 선택하는 동안 예외가 발생한 것을 의미하며, 이제 라우팅 오류 처리기에 의해 처리되고 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 로깅되고 무시되는 예외를 처리합니다. | false | boolean |
lazyStartProducer (producer) | 첫 번째 메시지에서 생산자를 lazy로 시작해야 하는지 여부입니다. lazy를 시작하여 이를 사용하여 생산자가 시작되지 않고 생산자가 실패할 수 있는 상황에서 CamelContext 및 경로가 시작될 수 있도록 허용할 수 있습니다. 이 시작이 지연되도록 지연되면 Camel의 라우팅 오류 핸들러를 통해 메시지를 라우팅하는 동안 시작 실패를 처리할 수 있습니다. 첫 번째 메시지가 처리되면 프로듀서 생성 및 시작이 다소 시간이 걸릴 수 있으며 총 처리 시간이 길어질 수 있습니다. | false | boolean |
autowiredEnabled (advanced) | autowiring이 활성화되었는지 여부 이 옵션은 일치하는 유형의 단일 인스턴스가 있는지 확인한 다음 구성 요소에 구성됩니다. 이는 JDBC 데이터 소스, JMS 연결 팩토리, AWS 클라이언트 등을 자동으로 구성하는 데 사용할 수 있습니다. | true | boolean |
클라이언트 (고급) | 공유된 Paho 클라이언트를 사용합니다. | MqttClient | |
customWebSocketHeaders (advanced) | WebSocket 연결의 Custom WebSocket 헤더를 설정합니다. | 속성 | |
executorServiceTimeout (advanced) | executor 서비스가 강제 종료되기 전에 종료할 때 대기하는 시간(초)을 설정합니다. 이 값을 변경할 것을 권장하지 않는 한, 반드시 필요한 값을 변경할 필요가 있습니다. | 1 | int |
httpsHostnameVerificationEnabled (보안) | SSL HostnameVerifier가 활성화되어 있는지 여부. 기본값은 true입니다. | true | boolean |
암호 (보안) | MQTT 브로커에 대한 인증에 사용할 암호입니다. | 문자열 | |
socketFactory (보안) | 사용할 SocketFactory를 설정합니다. 이를 통해 애플리케이션은 네트워크 소켓 생성에 대해 자체 정책을 적용할 수 있습니다. SSL 연결을 사용하는 경우 SSLSocketFactory를 사용하여 애플리케이션별 보안 설정을 제공할 수 있습니다. | SocketFactory | |
sslClientProps (security) | 연결의 SSL 속성을 설정합니다. 이러한 속성은JSSE(Java Secure Socket Extensions) 구현을 사용할 수 있는 경우에만 유효합니다. 이러한 속성은 사용자 지정 SocketFactory가 설정된 경우 사용되지 않습니다. 다음 속성을 사용할 수 있습니다. com.ibm.ssl.protocol One of: SSL, SSLv3, TLS, TLSv1, SSL_TLS.com.ibm.ssl.contextProvider Underlying 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 A list of which ciphers are enabled) 값은 공급자에 따라 달라집니다. 예를 들어 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 (security) | SSL 연결에 대한 HostnameVerifier를 설정합니다. 연결을 핸드셰이크한 후 사용되며, hostname이 확인되면 직접 작업을 수행해야 합니다. 기본 HostnameVerifier가 없습니다. | HostnameVerifier | |
사용자 이름 (보안) | MQTT 브로커에 대한 인증에 사용할 사용자 이름입니다. | 문자열 |