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