307.3. Spring Boot Auto-Configuration
组件支持 15 个选项,如下所列。
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| camel.component.sjms.connection-client-id | 使用默认的 org.apache.camel.component.sjms.jms.ConnectionFactoryResource 时创建 javax.jms.Connection 时使用的客户端 ID。 | 字符串 | |
| camel.component.sjms.connection-count | 此组件下启动的端点可用的最大连接数 | 1 | 整数 |
| camel.component.sjms.connection-factory | 需要 ConnectionFactory 才能启用 SjmsComponent。它可以直接设置,或设置为 ConnectionResource 的一部分。选项是 javax.jms.ConnectionFactory 类型。 | 字符串 | |
| camel.component.sjms.connection-max-wait | 当池使用默认 org.apache.camel.component.sjms.jms.ConnectionFactoryResource 时,millis 中用于阻止和等待空闲连接的最大等待时间。 | 5000 | Long |
| camel.component.sjms.connection-password | 使用默认的 org.apache.camel.component.sjms.jms.ConnectionFactoryResource 时创建 javax.jms.Connection 时使用的密码。 | 字符串 | |
| camel.component.sjms.connection-resource | ConnectionResource 是一个接口,允许对 ConnectionFactory 进行自定义和容器控制。详情请查看可插拔连接资源管理。选项是 org.apache.camel.component.sjms.jms.ConnectionResource 类型。 | 字符串 | |
| camel.component.sjms.connection-test-on-borrow | 在使用默认的 org.apache.camel.component.sjms.jms.ConnectionFactoryResource 时,应测试每个 javax.jms.Connection (调用启动),然后再从池返回。 | true | 布尔值 |
| camel.component.sjms.connection-username | 使用默认的 org.apache.camel.component.sjms.jms.ConnectionFactoryResource 时创建 javax.jms.Connection 时使用的用户名。 | 字符串 | |
| camel.component.sjms.destination-creation-strategy | 使用自定义 DestinationCreationStrategy。选项是一个 org.apache.camel.component.sjms.jms.DestinationCreationStrategy 类型。 | 字符串 | |
| camel.component.sjms.enabled | 启用 sjms 组件 | true | 布尔值 |
| camel.component.sjms.header-filter-strategy | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头到 Camel 消息。选项是一个 org.apache.camel.spi.HeaderFilterStrategy 类型。 | 字符串 | |
| camel.component.sjms.jms-key-format-strategy | 用于编码和解码 JMS 密钥的可插拔策略,以便它们能够与 JMS 规范兼容。Camel 提供了一个开箱即用的实现:default。默认策略将安全地 marshal 句点和连字符(. 和 -)。可用于 JMS 代理,这些代理不关心 JMS 标头键是否包含非法字符。您可以提供自己的 org.apache.camel.component.jms.JmsKeyFormatStrategy 的实现,并使用 # 表示法引用它。选项是一个 org.apache.camel.component.sjms.jms.JmsKeyFormatStrategy 类型。 | 字符串 | |
| camel.component.sjms.message-created-strategy | 使用在 Camel 发送 JMS 消息时调用的 given MessageCreatedStrategy,在 Camel 创建 javax.jms.Message 对象的新实例时调用。选项是一个 org.apache.camel.component.sjms.jms.MessageCreatedStrategy 类型。 | 字符串 | |
| camel.component.sjms.resolve-property-placeholders | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
| camel.component.sjms.transaction-commit-strategy | 要配置要使用的提交策略。Camel 开箱即用提供了两个实施,即 default 和 batch。选项是一个 org.apache.camel.component.sjms.TransactionCommitStrategy 类型。 | 字符串 |
以下是如何将 SjmsComponent 配置为其所需的 ConnectionFactory 提供程序的示例。默认情况下,它将创建一个连接,并使用组件内部池 API 来存储它,以确保它可以以线程安全的方式服务会话创建请求。
SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);
SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);
对于支持持久订阅所需的 SJMS 组件,您可以覆盖默认的 ConnectionFactoryResource 实例并设置 clientId 属性。