36.8. Spring Boot Auto-Configuration
将 paho 与 Spring Boot 搭配使用时,请确保使用以下 Maven 依赖项支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-paho-starter</artifactId> <version>{CamelSBProjectVersion}</version> <!-- Use your Camel Spring Boot version --> </dependency>
组件支持 32 个选项,如下所示。
Name | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.paho.automatic-reconnect | 设定在连接丢失时客户端是否自动尝试重新连接到服务器。如果设置为 false,则客户端不会在连接丢失时尝试自动重新连接到服务器。如果设置为 true,则在连接丢失时,客户端会尝试重新连接到服务器。它会在尝试重新连接前 1 秒等待一次重新连接,每次重新连接尝试时,延迟会加倍,直到该延迟在 2 分钟后仍保持 2 分钟。 | true | 布尔值 |
camel.component.paho.autowired-enabled | 是否启用自动。这用于自动自动自动选项(选项必须标记为 autowired),方法是在 registry 中查找是否有匹配的类型实例,然后在组件上进行配置。这可用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.paho.bridge-error-handler | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着在消费者尝试获取传入的消息时发生任何异常,或像这样一样处理,消息现在将被作为消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 处理异常,该处理程序将记录在 WARN 或 ERROR 级别并忽略。 | false | 布尔值 |
camel.component.paho.broker-url | MCG 代理的 URL。 | tcp://localhost:1883 | 字符串 |
camel.component.paho.clean-session | 设定客户端和服务器在重启和重新连接后是否应该记住状态。如果设置为 false,则客户端和服务器会在客户端重新启动时保持状态,即服务器和连接。维护状态:即使客户端、服务器或连接重启,消息交付将可靠满足指定的 QOS。服务器将把订阅视为持久。如果设置为 true,则客户端和服务器在重启客户端时不会保持状态,即服务器或连接。这意味着,如果客户端、服务器或连接被重启,无法维护到指定 QOS 的消息发送。服务器会将订阅视为不可durable。 | true | 布尔值 |
camel.component.paho.client | 使用共享 Paho 客户端。选项是 org.eclipse.paho.client.mqttv3.MqttClient 类型。 | MqttClient | |
camel.component.paho.client-id | awx 客户端标识符。标识符必须是唯一的。 | 字符串 | |
camel.component.paho.configuration | 使用共享 Paho 配置。选项是 org.apache.camel.component.paho.PahoConfiguration 类型。 | PahoConfiguration | |
camel.component.paho.connection-timeout | 设置连接超时值。这个值单位为秒,定义客户端等待与 awx 服务器建立的网络连接的最大间隔时间。默认超时为 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 | 文件持久性使用的基础目录。默认情况下,将使用用户目录。 | 字符串 | |
camel.component.paho.https-hostname-verification-enabled | 是否启用 SSL HostnameVerifier。默认值为 true。 | true | 布尔值 |
camel.component.paho.keep-alive-interval | 设置 keep 间隔。这个值以秒为单位定义发送或接收的消息之间的最大间隔时间。它可让客户端检测服务器是否已不再可用,而无需等待 TCP/IP 超时。该客户端将确保每个网络内至少有一个消息传输。如果一段时间内没有与数据相关的消息,客户端会发送一个非常小的 ping 消息,该服务器将确认。0 代表禁用客户端中持续处理。默认值为 60 秒。 | 60 | 整数 |
camel.component.paho.lazy-start-producer | 制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。 | false | 布尔值 |
camel.component.paho.max-inflight | 设置动态中的 max。请在高流量环境中增加这个值。默认值为 10。 | 10 | 整数 |
camel.component.paho.max-reconnect-delay | 获取重新连接之间要等待的最大时间(单位为 millis)。 | 128000 | 整数 |
camel.component.paho.mqtt-version | 设置 BASE 版本。默认操作与版本 3.1.1 连接,如果失败,则回退到 3.1。可以通过分别使用 MCG_VERSION_3_1_1 或 BYO_VERSION_3_1 选项,特别选择版本 3.1.1 或 3.1。 | 整数 | |
camel.component.paho.password | 用于对 PlacementBinding 代理进行身份验证的密码。 | 字符串 | |
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 指定客户端可以连接到的服务器的主机名。对于 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.socket-factory | 设置要使用的插槽因素。这允许应用程序在创建网络套接字时应用自己的策略。如果使用 SSL 连接,可以使用 SSLSocketFactory 来提供特定于应用程序的安全设置。选项是 javax.net.SocketFactory 类型。 | SocketFactory | |
camel.component.paho.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.ssl-hostname-verifier | 为 SSL 连接设置 HostnameVerifier。请注意,它会在对连接进行握手后使用,您应该在验证主机名错误时自行执行操作。没有默认的 HostnameVerifier。选项是 javax.net.ssl.HostnameVerifier 类型。 | HostnameVerifier | |
camel.component.paho.user-name | 用于对 guidance 代理进行身份验证的用户名。 | 字符串 | |
camel.component.paho.will-payload | 为连接设置 Last Will and Testament(LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布一条消息。发布到消息的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。邮件是否应该被保留。 | 字符串 | |
camel.component.paho.will-qos | 为连接设置 Last Will and Testament(LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布一条消息。发布到消息的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。邮件是否应该被保留。 | 整数 | |
camel.component.paho.will-retained | 为连接设置 Last Will and Testament(LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布一条消息。发布到消息的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。邮件是否应该被保留。 | false | 布尔值 |
camel.component.paho.will-topic | 为连接设置 Last Will and Testament(LWT)。如果此客户端意外丢失与服务器的连接,服务器将使用提供的详细信息向其自身发布一条消息。发布到消息的字节有效负载的主题。要发布消息的服务质量(0、1 或 2)。邮件是否应该被保留。 | 字符串 |