306.3. Spring Boot Auto-Configuration
组件支持 15 个选项,它们如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
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.ConnectionFactoryResource 时,创建 javax.jms.Connection 时使用的密码。 | 字符串 | |
camel.component.sjms.connection-resource | ConnectionResource 是一个接口,它允许对 ConnectionFactory 进行自定义和容器控制。详情请查看可插拔连接资源管理。选项是一个 org.apache.camel.component.sjms.ConnectionResource 类型。 | 字符串 | |
camel.component.sjms.connection-test-on-borrow | 在使用默认的 org.apache.camel.component.sjms.ConnectionFactoryResource 时,应测试每个 javax.jms.Connection,然后从池返回(计算启动)。 | true | 布尔值 |
camel.component.sjms.connection-username | 在使用默认的 org.apache.camel.component.sjms.ConnectionFactoryResource 时,创建 javax.jms.Connection 时使用的用户名。 | 字符串 | |
camel.component.sjms.destination-creation-strategy | 使用自定义 DestinationCreationStrategy。选项是一个 org.apache.camel.component.sjms.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.默认策略将安全汇总点和连字符(. 和 -)。可用于不小心 JMS 标头键是否包含非法字符的 JMS 代理。您可以自行实施 org.apache.camel.component.jms.JmsKeyFormatStrategy,并使用 # 表示法引用它。选项是一个 org.apache.camel.component.sjms.jms.JmsKeyFormatStrategy type。 | 字符串 | |
camel.component.sjms.message-created-strategy | 要使用给定的 MessageCreatedStrategy,在 Camel 发送 JMS 消息时,将在 Camel 创建新实例 javax.jms.Message 对象时来调用。选项是一个 org.apache.camel.component.sjms.MessageCreatedStrategy type。 | 字符串 | |
camel.component.sjms.resolve-property-placeholders | 启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
camel.component.sjms.transaction-commit-strategy | 配置要使用的提交策略。Camel 提供了两个开箱即用的实施,即 default 和 batch。选项是一个 org.apache.camel.component.sjms.TransactionCommitStrategy type。 | 字符串 |
以下是如何将 SjmsComponent
配置为其所需的 ConnectionFactory
provider。默认情况下,它将创建一个连接,并使用内部池 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
属性。