231.2. 选项


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

Name描述默认值类型

host (common)

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

 

字符串

用户名 (security)

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

 

字符串

密码 (security)

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

 

字符串

resolveProperty Placeholders (advanced)

组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。

true

布尔值

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

mqtt:name

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

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

Name描述默认值类型

name

必需 使用的逻辑名称,而不是主题名称。

 

字符串

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

Name描述默认值类型

blockingExecutor (common)

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

 

executor

byDefaultRetain (common)

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

false

布尔值

cleanSession (common)

如果您希望 MQTT 服务器跨客户端会话持久保留主题订阅和 ack 位置,则设置为 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)

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

5

int

assignQueue (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)

要在交换上查找单个已发布消息的属性名称。如果设置了(一个 AtMostOnce、AtLeastOnce 或 ExactlyOnce )- 那么 QoS 将在发送到 MQTT 消息代理的消息上设置。

MQTTQos

字符串

mqttRetainPropertyName (common)

要在交换上查找单个已发布消息的属性名称。如果设置了(预期布尔值)- 然后在发送到 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)

重新连接尝试之间等待的最大时间(以 ms 为单位)。默认值为 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 标头中为从传输发送的数据包设置流量类或服务 octet。默认值为 8,这意味着应该为吞吐量优化流量。

8

int

version (common)

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

3.1

字符串

willMessage (common)

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

 

字符串

willQos (common)

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

AtMostOnce

QoS

willRetain (common)

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

 

QoS

willTopic (common)

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

 

字符串

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 producer 启动时未启动并在运行,则会话可能会被创建来避免异常。

true

布尔值

同步 (高级)

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

false

布尔值

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.