231.2. 选项


MQTT 组件支持 4 个选项,如下所列。

名称描述默认值类型

host (common)

要连接的 MQTT 代理的 URI,此组件还支持 SSL - 例如 ssl://127.0.0.1:8883

 

字符串

userName (security)

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

 

字符串

password (security)

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

 

字符串

resolveProperty Placeholders (advanced)

启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。

true

布尔值

MQTT 端点使用 URI 语法进行配置:

mqtt:name

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

231.2.1. 路径参数(1 参数):

名称描述默认值类型

name

必需 A 逻辑名称,该名称不是主题名称。

 

字符串

231.2.2. 查询参数(39 参数):

名称描述默认值类型

blockingExecutor (common)

SSL 连接对内部线程池执行阻止操作,除非您调用 setBlockingExecutor 方法来配置它们要使用的 executor。

 

executor

byDefaultRetain (common)

默认保留策略用于发送到 MQTT 代理的消息

false

布尔值

cleanSession (common)

如果您希望 MQTT 服务器持久保留主题订阅并在客户端会话间定位,则设置为 false。默认值为 true。

false

布尔值

clientId (common)

使用 设置会话的客户端 Id。这是 MQTT 服务器用来识别使用 setCleanSession (false)的会话;id 必须为 23 个字符或更少。默认为自动生成的 id (基于您的套接字地址、端口和时间戳)。

 

字符串

connectAttemptsMax (common)

在客户端第一次尝试连接到服务器前,在错误报告到客户端前的最大重新连接尝试次数。设置为 -1 以使用无限尝试。默认值为 -1。

-1

long

connectWaitInSeconds (common)

延迟(以秒为单位),组件将等待到 MQTT 代理建立连接

10

int

disconnectWaitInSeconds (common)

组件从 MQTT 代理等待 stop ()的有效断开连接的秒数

5

int

dispatchQueue (common)

HawtDispatch 分配队列用于同步对连接的访问。如果没有通过 setDispatchQueue 方法配置显式队列,则会为连接创建一个新的队列。如果您希望多个连接共享同一队列进行同步,则设置显式队列可能很方便。

 

DispatchQueue

host (common)

要连接的 MQTT 代理的 URI,此组件还支持 SSL - 例如 ssl://127.0.0.1:8883

tcp://127.0.0.1:1883

URI

keepAlive (common)

配置 Keep Alive 计时器(以秒为单位)。定义从客户端接收的消息之间的最大时间间隔。它使服务器能够检测与客户端的网络连接是否已丢弃,而无需等待较长的 TCP/IP 超时。

 

short

localAddress (common)

要使用的本地 InetAddress 和端口

 

URI

maxReadRate (common)

设置此传输将接收数据的每秒最大字节数。此设置节流读取,以便不超过速率。默认为 0,它禁用节流。

 

int

maxWriteRate (common)

设置此传输发送数据的每秒最大字节数。此设置节流写入,以便不超过速率。默认为 0,它禁用节流。

 

int

mqttQosPropertyName (common)

在 Exchange 上查找单个发布消息的属性名称。如果设置了它( AtMostOnce、AtLeastOnce 或 ExactlyOnce )-,则在发送到 MQTT 消息代理的消息上设置 QoS。

MQTTQos

字符串

mqttRetainPropertyName (common)

在 Exchange 上查找单个发布消息的属性名称。如果设置了它(预期布尔值)-,那么在发送到 MQTT 消息代理的消息上设置 retain 属性。

MQTTRetain

字符串

mqttTopicPropertyName (common)

这些在 Exchange 中查找的属性 - 要发布到

MQTTTopicPropertyName

字符串

publishTopicName (common)

要发布消息的默认主题

camel/mqtt/test

字符串

qualityOfService (common)

用于主题的服务质量级别。

AtLeastOnce

字符串

receiveBufferSize (common)

设置内部套接字接收缓冲区的大小。默认值为 65536 (64k)

65536

int

reconnectAttemptsMax (common)

在服务器连接之前建立后,在向客户端报告错误前的最大重新连接尝试次数。设置为 -1 以使用无限尝试。默认值为 -1。

-1

long

reconnectBackOffMultiplier (common)

在重新连接过程中使用 Exponential backoff。设置为 1 以禁用 exponential backoff。默认值为 2。

2.0

double

reconnectDelay (common)

在首次重新连接尝试前,在 ms 中等待多长时间。默认值为 10。

10

long

reconnectDelayMax (common)

重新连接尝试之间等待的时间(毫秒)。默认值为 30,000。

30000

long

sendBufferSize (common)

设置内部套接字发送缓冲区的大小。默认值为 65536 (64k)

65536

int

sendWaitInSeconds (common)

组件从 MQTT 代理等待接收的最大时间在抛出异常前确认发布的消息

5

int

sslContext (common)

使用 SSLContext 配置配置安全性

 

SSLContext

subscribeTopicName (common)

弃用了 在 Endpoint - 和从 MQTT 继承的属性中设置它们

 

字符串

subscribeTopicNames (common)

为信息订阅的主题以逗号分隔的列表。请注意,此列表的每个项目都可以包含 MQTT 通配符(和/或 #),以便订阅与层次结构中的特定模式匹配的主题。例如,是层次结构中级别的所有主题的通配符,因此如果代理具有主题主题/一和主题/两类,则 topics/ 可用于订阅这两者。这里需要注意的是,如果代理添加了 topics/three,则路由也会开始从该主题接收消息。

 

字符串

trafficClass (common)

在 IP 标头中为从传输发送的数据包设置流量类或 type-of-service octet。默认为 8,这意味着应该针对吞吐量优化流量。

8

int

version (common)

设置为 3.1.1 以使用 MQTT 版本 3.1.1.。否则默认为 3.1 协议版本。

3.1

字符串

willMessage (common)

要发送的 Will 消息。默认为零长度消息。

 

字符串

willQos (common)

设置用于 Will 消息的服务质量。默认为 AT_MOST_ONCE。

AtMostOnce

QoS

willRetain (common)

如果您希望使用 retain 选项发布,则设置为 true。

 

QoS

willTopic (common)

如果设置服务器,如果客户端出现意外断开连接,则会将客户端的 Will 消息发布到指定的主题。

 

字符串

bridgeErrorHandler (consumer)

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

false

布尔值

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

lazySessionCreation (producer)

如果远程服务器在 Camel 生成者启动时没有启动并运行,可以完全创建会话以避免异常。

true

布尔值

同步 (advanced)

设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。

false

布尔值

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.