48.12. Spring Boot Auto-Configuration
在 Spring Boot 中使用 seda 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-seda-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-seda-starter</artifactId>
</dependency>
组件支持 11 个选项,如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.seda.autowired-enabled | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.seda.bridge-error-handler | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
camel.component.seda.concurrent-consumers | 设置默认并发线程处理交换数。 | 1 | 整数 |
camel.component.seda.default-block-when-full | 如果线程是否向完整 SEDA 队列发送消息,将阻止到队列的容量不再耗尽为止。默认情况下,会抛出异常,表示该队列已满。通过启用此选项,调用线程将改为阻止并等待消息被接受。 | false | 布尔值 |
camel.component.seda.default-discard-when-full | 是否丢弃将消息发送到完整 SEDA 队列的线程。默认情况下,会抛出异常,表示该队列已满。通过启用此选项,调用线程将放弃发送并继续,即消息没有发送到 SEDA 队列。 | false | 布尔值 |
camel.component.seda.default-offer-timeout | 如果线程是否向完整 SEDA 队列发送消息,将阻止到队列的容量不再耗尽为止。默认情况下,会抛出异常,表示该队列已满。通过启用这个选项,可以将配置的超时添加到块问题单中。利用低水位 java 队列的 .offer (timeout)方法。 | Long | |
camel.component.seda.default-poll-timeout | 轮询时使用的超时时间(以毫秒为单位)。发生超时时,使用者可以检查是否允许它继续运行。设置较低的值可让消费者在关闭时更快地响应。 | 1000 | 整数 |
camel.component.seda.default-queue-factory | 设置默认队列工厂。选项是一个 org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange> 类型。 | BlockingQueueFactory | |
camel.component.seda.enabled | 是否启用 seda 组件的自动配置。这默认是启用的。 | 布尔值 | |
camel.component.seda.lazy-start-producer | 制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.seda.queue-size | 设置 SEDA 队列的默认最大容量(例如,它可以保存的消息数量)。 | 1000 | 整数 |