11.9. Spring Boot Auto-Configuration
当将 bean 与 Spring Boot 搭配使用时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-bean-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-bean-starter</artifactId>
</dependency>
组件支持 13 个选项,如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.bean.autowired-enabled | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.bean.enabled | 是否启用 bean 组件的自动配置。这默认是启用的。 | 布尔值 | |
camel.component.bean.lazy-start-producer | 制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.bean.scope | bean 范围.在使用单例范围(默认)时,bean 会被创建或仅查找一次,并在端点的生命周期内重复使用。当并发线程同时调用 bean 时,bean 应当是 thread-safe。使用请求范围时,会为每个请求(交换)创建或查找一次。如果要在处理请求时将状态存储在 bean 上,并且您希望在处理请求时多次调用同一 bean 实例。Bean 不必为线程安全,因为实例仅从同一请求调用。使用委派范围时,将为每个调用查找或创建 bean。但是,如果查找,则这被委派给 bean 注册表,如 Spring 或 CDI (如果使用),这取决于其配置可以充当单例或原型范围。因此,这取决于委派的 registry。 | BeanScope | |
camel.component.class.autowired-enabled | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.class.enabled | 是否启用类组件的自动配置。这默认是启用的。 | 布尔值 | |
camel.component.class.lazy-start-producer | 制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.class.scope | bean 范围.在使用单例范围(默认)时,bean 会被创建或仅查找一次,并在端点的生命周期内重复使用。当并发线程同时调用 bean 时,bean 应当是 thread-safe。使用请求范围时,会为每个请求(交换)创建或查找一次。如果要在处理请求时将状态存储在 bean 上,并且您希望在处理请求时多次调用同一 bean 实例。Bean 不必为线程安全,因为实例仅从同一请求调用。使用委派范围时,将为每个调用查找或创建 bean。但是,如果查找,则这被委派给 bean 注册表,如 Spring 或 CDI (如果使用),这取决于其配置可以充当单例或原型范围。因此,这取决于委派的 registry。 | BeanScope | |
camel.language.bean.enabled | 是否启用 bean 语言的自动配置。这默认是启用的。 | 布尔值 | |
camel.language.bean.scope | bean 范围.在使用单例范围(默认)时,bean 会被创建或仅查找一次,并在端点的生命周期内重复使用。当并发线程同时调用 bean 时,bean 应当是 thread-safe。使用请求范围时,会为每个请求(交换)创建或查找一次。如果要在处理请求时将状态存储在 bean 上,并且您希望在处理请求时多次调用同一 bean 实例。Bean 不必为线程安全,因为实例仅从同一请求调用。在使用原型范围时,会为每个调用查找或创建 bean。但是,如果查找,则这被委派给 bean registry,如 Spring 或 CDI (如果使用),这取决于其配置可以充当单例或原型范围。因此,在使用原型范围时,这取决于 bean registry 的实施。 | singleton | 字符串 |
camel.language.bean.trim | 是否修剪值以移除前导和尾随空格和换行符。 | true | 布尔值 |
camel.component.bean.cache | 弃用了 使用单例选项。 | true | 布尔值 |
camel.component.class.cache | 弃用了 使用单例选项。 | true | 布尔值 |