11.9. Spring Boot Auto-Configuration
在 Spring Boot 中使用 bean 时,请确保使用以下 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 个选项,它们如下所列。
名称 | Description | 默认 | 类型 |
---|---|---|---|
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 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。 | false | 布尔值 |
camel.component.bean.scope | bean 的范围.在使用单例范围(默认)时,goan 只会创建或查找一次,并在端点的生命周期中重复使用。如果并发线程同时调用 bean,则 be thread-safe 应该是 thread-safe。使用请求范围时,会创建 bean 或查找每个请求一次(交换)。如果要在处理请求时将状态存储到 bean,且希望在处理请求时多次调用同一个 bean 实例。bean 不必是线程安全,因为只有来自同一请求才能调用该实例。使用委派范围时,将查找或为每个调用查找或创建 bean。但是,如果查找是被委派给 Bean 的 registry,如 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 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。 | false | 布尔值 |
camel.component.class.scope | bean 的范围.在使用单例范围(默认)时,goan 只会创建或查找一次,并在端点的生命周期中重复使用。如果并发线程同时调用 bean,则 be thread-safe 应该是 thread-safe。使用请求范围时,会创建 bean 或查找每个请求一次(交换)。如果要在处理请求时将状态存储到 bean,且希望在处理请求时多次调用同一个 bean 实例。bean 不必是线程安全,因为只有来自同一请求才能调用该实例。使用委派范围时,将查找或为每个调用查找或创建 bean。但是,如果查找是被委派给 Bean 的 registry,如 Spring 或 CDI (如果使用),则取决于其配置可以充当单例或原型范围。因此,在使用原型时,这取决于委派的 registry。 | BeanScope | |
camel.language.bean.enabled | 是否启用 bean 语言自动配置。默认启用。 | 布尔值 | |
camel.language.bean.scope | bean 的范围.在使用单例范围(默认)时,goan 只会创建或查找一次,并在端点的生命周期中重复使用。如果并发线程同时调用 bean,则 be thread-safe 应该是 thread-safe。使用请求范围时,会创建 bean 或查找每个请求一次(交换)。如果要在处理请求时将状态存储到 bean,且希望在处理请求时多次调用同一个 bean 实例。bean 不必是线程安全,因为只有来自同一请求才能调用该实例。在使用原型范围时,将查找或为每个调用查找或创建 bean。但是,如果查询随后被委派给 Bean registry,如 Spring 或 CDI (如果使用),后者取决于其配置可以充当单例或原型范围。因此,在使用原型范围时,这取决于 bean 注册表的实现。 | 单例 | 字符串 |
camel.language.bean.trim | 是否修剪值是否删除前导和尾随空格和换行符。 | true | 布尔值 |
camel.component.bean.cache | 弃用的 Use singleton 选项。 | true | 布尔值 |
camel.component.class.cache | 弃用的 Use singleton 选项。 | true | 布尔值 |