37.8. Spring Boot Auto-Configuration


在 Spring Boot 中使用 paho 时,请确保使用以下 Maven 依赖项来支持自动配置:

<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-paho-starter</artifactId>
  <version>{CamelSBProjectVersion}</version>
  <!-- Use your Camel Spring Boot version -->
</dependency>
Copy to Clipboard Toggle word wrap

组件支持 32 个选项,它们如下所列。

Expand
Name描述默认类型

camel.component.paho.automatic-reconnect

设置是否自动尝试重新连接服务器(如果连接丢失)。如果设置为 false,则客户端在连接丢失时不会尝试自动重新连接服务器。如果设置为 true,在连接丢失时,客户端会尝试重新连接服务器。它会在尝试重新连接前先等待 1 秒,每次失败的重新连接尝试,延迟会加倍,直到 2 分钟时间达到 2 分钟,延迟将在 2 分钟内保持。

true

布尔值

camel.component.paho.autowired-enabled

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

true

布尔值

camel.component.paho.bridge-error-handler

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

false

布尔值

camel.component.paho.broker-url

MQTT 代理的 URL。

tcp://localhost:1883

字符串

camel.component.paho.clean-session

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

true

布尔值

camel.component.paho.client

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

 

MqttClient

camel.component.paho.client-id

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

 

字符串

camel.component.paho.configuration

使用共享的 Paho 配置。选项是一个 org.apache.camel.component.paho.PahoConfiguration 类型。

 

PahoConfiguration

camel.component.paho.connection-timeout

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

30

整数

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

设置 WebSocket Connection 的自定义 WebSocket 标头。选项是一个 java.util.Properties 类型。

 

Properties

camel.component.paho.enabled

是否启用 paho 组件的自动配置。这会被默认启用。

 

布尔值

camel.component.paho.executor-service-timeout

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

1

整数

camel.component.paho.file-persistence-directory

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

 

字符串

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

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

true

布尔值

camel.component.paho.keep-alive-interval

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

60

整数

camel.component.paho.lazy-start-producer

制作者是否应启动 lazy (在第一条消息中)。通过开始 lazy,您可以使用此方法来允许 CamelContext 和路由在制作者无法启动时启动失败,并导致路由无法启动。通过将此启动推迟为 lazy,则启动失败可以通过 Camel 的路由错误处理程序在路由消息期间处理。请注意,当处理第一条消息时,创建和启动制作者可能需要花费一些时间,延长处理总处理时间。

false

布尔值

camel.component.paho.max-inflight

设置 max inflight。请在高流量环境中增加这个值。默认值为 10。

10

整数

camel.component.paho.max-reconnect-delay

获取重新连接之间等待的时间(以 millis)。

128000

整数

camel.component.paho.mqtt-version

设置 MQTT 版本。默认操作与 3.1.1 版本连接,并在该版本失败时回退到 3.1。通过分别使用 MQTT_VERSION_3_1_1 或 MQTT_VERSION_3_1 选项,可以专门选择版本 3.1.1 或 3.1,而不回退。

 

整数

camel.component.paho.password

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

 

字符串

camel.component.paho.persistence

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

 

PahoPersistence

camel.component.paho.qos

客户端服务级别(0-2)。

2

整数

camel.component.paho.retained

保留选项。

false

布尔值

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

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

 

字符串

camel.component.paho.socket-factory

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

 

SocketFactory

camel.component.paho.ssl-client-props

设置连接的 SSL 属性。请注意,只有在 Java Secure Socket Extensions (JSSE)的实现时才有效,这些属性才有效。如果设置了自定义 SocketFactory,则不会使用这些属性。可以使用以下属性:com.ibm.ssl.protocol One of: SSL, SSLv3, TLS, TLSv1, SSL_TLS. com.ibm.ssl.contextProvider Underlying JSSE provider.例如,IBMJSSE2 或 SunJSSE com.ibm.ssl.keyStore 包括了您希望 KeyStore 对象要使用的 KeyStore 对象的名称。例如,/mydir/etc/key.p12 com.ibm.ssl.keyStorePasswordPassword 您希望 KeyStore 对象的 password。密码可以使用纯文本,也可以使用静态方法进行混淆:com.ibm.micro.security.Password.obfuscate (char password)。这使用简单且不安全的 XOR 和 Base64 编码机制使密码混淆。请注意,这只是一个简单的scrambler 来混淆明文密码。com.ibm.ssl.keyStoreType Type Type of key store, 例如 PKCS12、JKS 或 JCEKS.com.ibm.ssl.keyStoreProvider Key store provider,如 IBMJCE 或 IBMJCEF ipS. com.ibm.ssl.trustStore 中包含您希望 TrustManager 要使用的 KeyStore 对象的文件名。com.ibm.ssl.trustStorePassword The password for the TrustManager to use.密码可以使用纯文本,也可以使用静态方法进行混淆:com.ibm.micro.security.Password.obfuscate (char password)。这使用简单且不安全的 XOR 和 Base64 编码机制使密码混淆。请注意,它只是一个简单的 scrambler 来混淆明文密码。com.ibm.ssl.trustStoreType 您希望使用默认 TrustManager 要使用的 KeyStore 对象的类型。keyStoreType.com. com.ibm.ssl.trustStoreProvider Trust store provider 相同,如 IBMJCE 或 IBMJCEFIPS. com.ibm.ssl.enabledCipherSuites A list of be enabled。值取决于供应商,例如: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.ssl-hostname-verifier

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

 

HostnameVerifier

camel.component.paho.user-name

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

 

字符串

camel.component.paho.will-payload

设置连接的 Last Will 和 Testament (LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布消息。向消息发布的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。消息是否应保留。

 

字符串

camel.component.paho.will-qos

设置连接的 Last Will 和 Testament (LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布消息。向消息发布的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。消息是否应保留。

 

整数

camel.component.paho.will-retained

设置连接的 Last Will 和 Testament (LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布消息。向消息发布的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。消息是否应保留。

false

布尔值

camel.component.paho.will-topic

设置连接的 Last Will 和 Testament (LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布消息。向消息发布的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。消息是否应保留。

 

字符串

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat