搜索

48.4. 端点选项

download PDF

Paho mq 5 端点使用 URI 语法进行配置:

paho-mqtt5:topic

使用以下路径和查询参数:

48.4.1. 路径参数(1 参数)

Name描述默认值类型

topic (common)

主题 所需的 名称。

 

字符串

48.4.2. 查询参数(32 参数)

Name描述默认值类型

automaticReconnect (common)

如果连接丢失,设置客户端是否自动尝试重新连接到服务器。如果设置为 false,客户端不会在连接丢失时尝试自动连接到服务器。如果设置为 true,如果连接丢失,客户端会尝试重新连接服务器。它初始会在尝试重新连接前等待 1 秒,对于每个失败的尝试,其延长会加倍,指定 2 分钟为止,此时,延迟会一直为 2 分钟。

true

布尔值

brokerUrl (common)

mq 代理的 URL。

tcp://localhost:1883

字符串

cleanStart (common)

设置客户端和服务器是否应该在重启和重新连接后记住状态。如果设置为 false,客户端和服务器在重启客户端后维护状态,则服务器和客户端的连接。维护状态 :消息交付将可靠满足指定的 QOS,即使客户端、服务器或连接重启也是如此。服务器会将订阅视为 durable。如果设置为 true,则客户端和服务器在重启客户端后不维护状态,服务器或连接将不会被维护。这意味着,如果客户端、服务器或连接重启,则无法维护发送到指定的 QOS 的消息。服务器会将订阅视为不可durable。

true

布尔值

clientId (common)

MQTT 客户端标识符。标识符必须是唯一的。

 

字符串

connectionTimeout (common)

设置连接超时值。这个值以秒为单位定义客户端要等待与 MQTT 服务器的网络连接的最大时间间隔。默认超时为 30 秒。0 代表禁用超时处理意味着客户端将等待网络连接成功或失败。

30

int

filePersistenceDirectory (common)

文件持久性使用的基本目录。默认将使用 user 目录。

 

字符串

keepAliveInterval (common)

设置保留间隔。这个值(以秒为单位)定义发送或接收消息之间的最大时间间隔。它可让客户端检测服务器是否不再可用,而无需等待 TCP/IP 超时。客户端将确保每个情况下至少有一个消息在网络间传输。如果在时间段内没有与数据相关的消息,客户端会发送一个非常小的 ping 消息,服务器将确认。0 代表禁用客户端中的 keepalive 处理。默认值为 60 秒。

60

int

maxReconnectDelay (common)

获取在重新连接之间等待的最大时间(以 millis 为单位)。

128000

int

Persistence (common)

要使用的客户端持久性 - 内存或文件。

Enum 值:

  • FILE
  • MEMORY

MEMORY

PahoMqtt5Persistence

QoS (common)

客户端服务质量(0-2)。

2

int

receiveMaximum (common)

设置接收的最大值。这个值代表了客户端同时处理的 QoS 1 和 QoS 2 出版物的限制。没有机制来限制服务器可能会尝试发送的 QoS 0 出版物数量。默认值为 65535。

65535

int

reserved (common)

retain 选项。

false

布尔值

serverURIs (common)

设置客户端可以连接到的一个或多个 serverURI 的列表。多个服务器可以用逗号分开。每个 serverURI 指定客户端可以连接的服务器的地址。两种类型的连接是 TCP 连接的 tcp://,对于 SSL/TLS 保护的 TCP 连接支持 ssl://。例如: tcp://localhost:1883 ssl://localhost:8883 如果未指定端口,对于 tcp:// URI,它将默认为 1883,对于 ssl:// URI,将默认为 1883。如果设置了 serverURIs,它会覆盖在 MQTT 客户端构造器上传递的 serverURI 参数。当尝试连接启动时,客户端将从列表中的第一个 serverURI 开始,并通过列表进行工作,直到与服务器建立连接。如果无法向任何服务器进行连接,则连接尝试会失败。指定客户端可以连接到的服务器列表具有多个用途:高可用性和可靠的消息交付一些 MQTT 服务器支持高可用性功能,其中两个或多个 MQTT 服务器共享状态。MQTT 客户端可以连接到任何相等的服务器,并保证无论客户端连接到哪个服务器,消息都可以可靠交付且可暂停订阅。如果需要具有危险的订阅和/或可靠的消息发送,则 cleansession 标志必须设置为 false。可能需要指定一组不相等的服务器(如在高可用性选项中)。因为在服务器间没有状态共享可靠的消息交付,因此没有可用的订阅无效。如果使用 hunt 列表模式,必须将 cleansession 标志设置为 true。

 

字符串

sessionExpiryInterval (common)

设置 Session Expiry Interval。这个值(以秒为单位)定义代理在客户端断开连接后将保持会话的最长时间。如果客户端打算稍后连接到服务器,则客户端应仅与较长的会话过期间隔连接。默认情况下,这个值为 -1,因此不会发送,在这种情况下,会话不会过期。如果发送 0,则会话将在网络连接关闭后立即结束。当客户端确定它不再可用于会话时,它应该断开 Session Expiry Interval 设置为 0。

-1

long

willMqttProperties (common)

为连接设置 Last Will and Testament (LWT)。如果此客户端意外丢失了与服务器的连接,服务器将使用提供的详细信息向自己发布一条消息。为消息设置的 mq 属性。

 

MqttProperties

willPayload (common)

为连接设置 Last Will and Testament (LWT)。如果此客户端意外丢失了与服务器的连接,服务器将使用提供的详细信息向自己发布一条消息。消息的字节有效负载。

 

字符串

willQos (common)

为连接设置 Last Will and Testament (LWT)。如果此客户端意外丢失了与服务器的连接,服务器将使用提供的详细信息向自己发布一条消息。发布消息的服务质量(0、1 或 2)。

1

int

willRetained (common)

为连接设置 Last Will and Testament (LWT)。如果此客户端意外丢失了与服务器的连接,服务器将使用提供的详细信息向自己发布一条消息。是否应保留消息。

false

布尔值

willTopic (common)

为连接设置 Last Will and Testament (LWT)。如果此客户端意外丢失了与服务器的连接,服务器将使用提供的详细信息向自己发布一条消息。要发布到的主题。

 

字符串

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

exceptionHandler (consumer (advanced))

要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。

 

ExceptionHandler

exchangePattern (consumer (advanced))

在消费者创建交换时设置交换模式。

Enum 值:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

client (advanced)

使用现有的 mqtt 客户端。

 

MqttClient

customWebSocketHeaders (advanced)

为 WebSocket 连接设置自定义 WebSocket 标头。

 

Map

executorServiceTimeout (advanced)

在强制终止前,设置 executor 服务在终止时应等待的时间(以秒为单位)。除非需要修改这个值,否则不建议更改这个值。

1

int

httpsHostnameVerificationEnabled (security)

是否启用 SSL HostnameVerifier。默认值为 true。

true

布尔值

密码 (安全)

用于针对 MQTT 代理进行身份验证的密码。

 

字符串

socketFactory (security)

设置要使用的 SocketFactory。这允许应用程序在创建网络套接字时应用自己的策略。如果使用 SSL 连接,可以使用 SSLSocketFactory 提供特定于应用程序的安全设置。

 

SocketFactory

sslClientProps (security)

设置连接的 SSL 属性。请注意,只有在有 Java 安全套接字扩展(JSSE)的实现时才有效这些属性。如果设置了自定义 SocketFactory,则不会使用这些属性。可以使用以下属性: com.ibm.ssl.protocol one of 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 编码机制混淆密码。请注意,这只是一个简单的 scrambler 来混淆明文密码。com.ibm.ssl.keyStoreType Type of key 存储,如 PKCS12、JKS 或 JCEKS. com.ibm.ssl.keyStoreProvider 存储提供程序,如 IBMJCE 或 IBMJCEFIPS. com.ibm.ssl.trustStore 包含您希望 TrustManager 使用的 KeyStore 对象的名称。com.ibm.ssl.trustStorePassword 要使用的 TrustStore 对象的名称。密码可以采用纯文本,也可以使用静态方法模糊处理: com.ibm.micro.security.Password.obfuscate (char password)。这使用简单和不安全的 XOR 和 Base64 编码机制混淆密码。请注意,这只是一个简单的 scrambler 来混淆明文密码。com.ibm.ssl.trustStoreType 是您希望默认 TrustManager 使用的 KeyStore 对象的类型。值与 keyStoreType. com.ibm.ssl.trustStoreProvider Trust 存储供应商相同,如 IBMJCE 或 IBMJCEFIPS. com.ibm.ssl.enabledCipherSuites A 列表。值依赖于提供程序,例如: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。

 

Properties

sslHostnameVerifier (security)

为 SSL 连接设置 HostnameVerifier。请注意,它会在连接的握手后使用,您应该在验证主机名错误时自己执行操作。没有默认的 HostnameVerifier。

 

HostnameVerifier

userName (security)

用于针对 MQTT 代理进行身份验证的用户名。

 

字符串

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.