12.9. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 bean 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-bean-starter</artifactId> </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 | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.bean.scope | bean 范围。使用单例范围(默认) 时,仅创建或只查找一次,并在端点生命周期内重复使用一次。如果并发线程同时调用 bean,则 bean 应该是 thread-safe。在使用请求范围时,根据请求创建或查找一次(交换)。如果您要在处理请求时将状态存储在 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 | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.class.scope | bean 范围。使用单例范围(默认) 时,仅创建或只查找一次,并在端点生命周期内重复使用一次。如果并发线程同时调用 bean,则 bean 应该是 thread-safe。在使用请求范围时,根据请求创建或查找一次(交换)。如果您要在处理请求时将状态存储在 bean 中,且您希望在处理请求时多次调用同一 bean 实例,则可以使用此项。bean 不必线程安全,因为实例仅从同一请求调用。在使用委派范围时,将根据调用查找或创建 bean。但是,如果查找,则这会被委派给 bean registry,如 Spring 或 CDI (如果使用),这依赖于它们的配置,也可以作为单例范围或与之分配的范围。因此,这取决于委派的 registry。 | BeanScope | |
camel.language.bean.enabled | 是否启用 bean 语言的自动配置。这默认是启用的。 | 布尔值 | |
camel.language.bean.scope | bean 范围。使用单例范围(默认) 时,仅创建或只查找一次,并在端点生命周期内重复使用一次。如果并发线程同时调用 bean,则 bean 应该是 thread-safe。在使用请求范围时,根据请求创建或查找一次(交换)。如果您要在处理请求时将状态存储在 bean 中,且您希望在处理请求时多次调用同一 bean 实例,则可以使用此项。bean 不必线程安全,因为实例仅从同一请求调用。使用过期范围时,将根据调用查找或创建 bean。但是,如果查找,则这会被委派给 bean registry,如 Spring 或 CDI (如果使用),这取决于它们的配置可以充当单例范围,也可以充当其他范围。因此,在使用过期范围时,这取决于 bean registry 实现。 | 单例 | 字符串 |
camel.language.bean.trim | 是否修剪值以移除前导和结尾的空格和换行符。 | true | 布尔值 |
camel.component.bean.cache | 弃用了 使用单例选项。 | true | 布尔值 |
camel.component.class.cache | 弃用了 使用单例选项。 | true | 布尔值 |