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 | 布尔值 |