10.9. Spring Boot Auto-Configuration
当将 bean 与 Spring Boot 搭配使用时,请确保使用以下 Maven 依赖项支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-bean-starter</artifactId> <version>{CamelSBProjectVersion}</version> <!-- use the same version as your Camel core version --> </dependency>
组件支持 13 个选项,如下所示。
Name | 描述 | 默认 | 类型 |
---|---|---|---|
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 范围.当使用单例范围(默认)时,anan 创建或仅在端点生命周期中查找一次并重新利用。当并发线程同时调用 bean 时,bean 应该是 thread-safe。在使用请求范围时,bean 创建或查找每个请求一次(exchange)。如果要在处理请求时将状态存储在 bean 上,而您希望在处理请求时多次调用同一 bean 实例,可以使用它。bean 不必是线程安全,因为实例只能从同一请求调用。在使用委派范围时,kan 将查找或创建每个调用。但是,在查找时,这会委派给 Spring 或 CDI 等 bean registry(如果正在使用中),依赖于它们的配置可以充当单例或原型范围。因此,在使用模型时,这取决于委派的 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 范围.当使用单例范围(默认)时,anan 创建或仅在端点生命周期中查找一次并重新利用。当并发线程同时调用 bean 时,bean 应该是 thread-safe。在使用请求范围时,bean 创建或查找每个请求一次(exchange)。如果要在处理请求时将状态存储在 bean 上,而您希望在处理请求时多次调用同一 bean 实例,可以使用它。bean 不必是线程安全,因为实例只能从同一请求调用。在使用委派范围时,kan 将查找或创建每个调用。但是,在查找时,这会委派给 Spring 或 CDI 等 bean registry(如果正在使用中),依赖于它们的配置可以充当单例或原型范围。因此,在使用模型时,这取决于委派的 registry。 | BeanScope | |
camel.language.bean.enabled | 是否启用 Bean 语言的自动配置。默认启用。 | 布尔值 | |
camel.language.bean.scope | Bean 范围.当使用单例范围(默认)时,anan 创建或仅在端点生命周期中查找一次并重新利用。当并发线程同时调用 bean 时,bean 应该是 thread-safe。在使用请求范围时,bean 创建或查找每个请求一次(exchange)。如果要在处理请求时将状态存储在 bean 上,而您希望在处理请求时多次调用同一 bean 实例,可以使用它。bean 不必是线程安全,因为实例只能从同一请求调用。在使用原型范围时,kan 会查找或为每个调用创建 bean。但是,在查找时,这会委派给 Spring 或 CDI 等 bean registry(如果正在使用中),依赖于它们的配置可以充当单例或原型范围。因此,在使用原型范围时,这取决于 bean 注册表的实施。 | 单例 | 字符串 |
camel.language.bean.trim | 是否修剪值以删除前导和尾随空格和换行符。 | true | 布尔值 |
camel.component.bean.cache | 弃用的 Use singleton 选项替代。 | true | 布尔值 |
camel.component.class.cache | 弃用的 Use singleton 选项替代。 | true | 布尔值 |