37.8. Spring Boot Auto-Configuration


将 paho-mqtt5 与 Spring Boot 搭配使用时,请确保使用以下 Maven 依赖项支持自动配置:

<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-paho-mqtt5-starter</artifactId>
  <version>{CamelSBProjectVersion}</version>
  <!-- Use your Camel Spring Boot version -->
</dependency>

组件支持 33 选项,如下所示。

Name描述默认类型

camel.component.paho-mqtt5.automatic-reconnect

设定在连接丢失时客户端是否自动尝试重新连接到服务器。如果设置为 false,则客户端不会在连接丢失时尝试自动重新连接到服务器。如果设置为 true,则在连接丢失时,客户端会尝试重新连接到服务器。它会在尝试重新连接前 1 秒等待一次重新连接,每次重新连接尝试时,延迟会加倍,直到该延迟在 2 分钟后仍保持 2 分钟。

true

布尔值

camel.component.paho-mqtt5.autowired-enabled

是否启用自动。这用于自动自动自动选项(选项必须标记为 autowired),方法是在 registry 中查找是否有匹配的类型实例,然后在组件上进行配置。这可用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。

true

布尔值

camel.component.paho-mqtt5.bridge-error-handler

允许将消费者桥接到 Camel 路由 Error Handler,这意味着在消费者尝试获取传入的消息时发生任何异常,或像这样一样处理,消息现在将被作为消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 处理异常,该处理程序将记录在 WARN 或 ERROR 级别并忽略。

false

布尔值

camel.component.paho-mqtt5.broker-url

MCG 代理的 URL。

tcp://localhost:1883

字符串

camel.component.paho-mqtt5.clean-start

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

true

布尔值

camel.component.paho-mqtt5.client

使用共享 Paho 客户端。选项是 org.eclipse.paho.mqttv5.client.MqttClient 类型。

 

MqttClient

camel.component.paho-mqtt5.client-id

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

 

字符串

camel.component.paho-mqtt5.configuration

使用共享 Paho 配置。选项是 org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration 类型。

 

PahoMqtt5Configuration

camel.component.paho-mqtt5.connection-timeout

设置连接超时值。这个值单位为秒,定义客户端等待与 awx 服务器建立的网络连接的最大间隔时间。默认超时为 30 秒。0 代表禁用超时处理,客户端会等到网络连接成功或失败为止。

30

整数

camel.component.paho-mqtt5.custom-web-socket-headers

为 WebSocket Connection 设置自定义 WebSocket 标头。

 

map

camel.component.paho-mqtt5.enabled

是否启用 paho-mqtt5 组件的自动配置。默认启用。

 

布尔值

camel.component.paho-mqtt5.executor-service-timeout

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

1

整数

camel.component.paho-mqtt5.file-persistence-directory

文件持久性使用的基础目录。默认情况下,将使用用户目录。

 

字符串

camel.component.paho-mqtt5.https-hostname-verification-enabled

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

true

布尔值

camel.component.paho-mqtt5.keep-alive-interval

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

60

整数

camel.component.paho-mqtt5.lazy-start-producer

制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。

false

布尔值

camel.component.paho-mqtt5.max-reconnect-delay

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

128000

整数

camel.component.paho-mqtt5.password

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

 

字符串

camel.component.paho-mqtt5.persistence

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

 

PahoMqtt5Persistence

camel.component.paho-mqtt5.qos

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

2

整数

camel.component.paho-mqtt5.receive-maximum

设置 Receive Maximum。这个值代表了客户端要同时处理 QoS 1 和 QoS 2 的限值。没有限制服务器可能尝试发送的 QoS 0 发布次数的机制。默认值为 65535。

65535

整数

camel.component.paho-mqtt5.retained

保留选项。

false

布尔值

camel.component.paho-mqtt5.server-u-r-is

设置客户端可以连接到的一个或多个 serverURI 的列表。可以使用逗号分隔多个服务器。每个 serverURI 指定客户端可以连接到的服务器的主机名。对于 TCP 连接,支持两种类型的连接,对于由 SSL/TLS 保护的 TCP 连接,使用 ssl://。例如:如果未指定端口,tcp://localhost:1883 ssl://localhost:8883 将默认为 1883(对于 tcp:// URI),以及 ssl:// URI 的 8883。如果设置了 serverURIs,它将覆盖在 [...] 客户端构造者传递的 serverURI 参数。当尝试连接时,客户端将从列表中的第一个 serverURI 开始,并浏览列表,直到与服务器建立连接为止。如果无法对任何服务器进行连接,则连接尝试会失败。指定客户端可以连接的服务器列表有几种用途:高可用性和可靠的消息传递交付一些 servlet 服务器支持高可用性功能,其中两个或更多相同的 [...] 服务器共享状态。awx 客户端可以连接到任何相同的服务器,并保证无论客户端连接到哪个服务器都可可靠地交付消息并保持持久性订阅。如果需要 durable 订阅和/或可靠的消息交付,则 cleansession 标志必须设为 false。可以指定一组不相等的服务器的挂起列表(如高可用性选项)。由于在服务器中不共享任何状态,因此可靠消息交付和持久订阅无效。如果使用 hunt list 模式,则 cleansession 标志必须设为 true。

 

字符串

camel.component.paho-mqtt5.session-expiry-interval

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

-1

Long

camel.component.paho-mqtt5.socket-factory

设置要使用的插槽因素。这允许应用程序在创建网络套接字时应用自己的策略。如果使用 SSL 连接,可以使用 SSLSocketFactory 来提供特定于应用程序的安全设置。选项是 javax.net.SocketFactory 类型。

 

SocketFactory

camel.component.paho-mqtt5.ssl-client-props

设置连接的 SSL 属性。请注意,只有在实施 Java 安全套接字扩展(JSSE)时,这些属性才有效。如果设置了自定义 SocketonnectionFactoryy,则这些属性不会被使用。可以使用以下属性:com.ibm.ssl.protocol One of: SSL、SSLv3、TLS、TLSv1、SSL_TLS. com.ibm.ssl.contextProvider oning JSSE provider.例如,IBMJSSE2 或 SunJSSE com.ibm.ssl.keyStore 包含您要使用的 KeyStore 对象的文件名称。例如 /mydir/etc/key.p12 com.ibm.ssl.keyStorePassword 成为您希望 KeyManager 使用的 KeyStore 对象的密码。密码可以采用纯文本,也可以使用静态方法模糊处理:com.ibm.micro.security.Password.obfuscate(char password)。这混淆了使用简单和不安全的 XOR 和 Base64 编码机制的密码。请注意,这只是一个简单的模糊程序来模糊处理明文密码。com.ibm.ssl.keyStoreType Type of key store,如 PKCS12、JKS 或 JCEKS.com.ibm.ssl.keyStoreProvider Key provider provider,如 IBMJCE 或 IBMJCEF ipS. com.ibm.ssl.trustStore The file name 包含您希望 TrustManager use.com.ibm.ssl.trustStorePassword The password for the TrustStore 项使用的 TrustStore 对象。密码可以采用纯文本,也可以使用静态方法模糊处理:com.ibm.micro.security.Password.obfuscate(char password)。这混淆了使用简单和不安全的 XOR 和 Base64 编码机制的密码。请注意,这只是一个简单的 scrambler 来模糊处理明文密码。com.ibm.ssl.trustStoreType 您需要使用默认 TrustManager 使用的默认 TrustManager。与 keyStoreType. com.ibm.ssl.trustStoreProvider Trust store provider 相同的可能的值,如 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.选项是 java.util.Properties 类型。

 

Properties

camel.component.paho-mqtt5.ssl-hostname-verifier

为 SSL 连接设置 HostnameVerifier。请注意,它会在对连接进行握手后使用,您应该在验证主机名错误时自行执行操作。没有默认的 HostnameVerifier。选项是 javax.net.ssl.HostnameVerifier 类型。

 

HostnameVerifier

camel.component.paho-mqtt5.user-name

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

 

字符串

camel.component.paho-mqtt5.will-mqtt-properties

为连接设置 Last Will and Testament(LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布一条消息。为消息设置 BASE 属性。选项是 org.eclipse.paho.mqttv5.common.packet.MqttProperties 类型。

 

MqttProperties

camel.component.paho-mqtt5.will-payload

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

 

字符串

camel.component.paho-mqtt5.will-qos

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

1

整数

camel.component.paho-mqtt5.will-retained

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

false

布尔值

camel.component.paho-mqtt5.will-topic

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

 

字符串

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.