49.7. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 servlet 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-servlet-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-servlet-starter</artifactId>
</dependency>
组件支持 15 个选项,如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.servlet.allow-java-serialized-object | 当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java 序列化。默认情况下是关闭的。如果您启用它,Java 将把请求中的传入数据反序列化到 Java,这可能会带来潜在的安全风险。 | false | 布尔值 |
camel.component.servlet.attachment-multipart-binding | 是否在 Camel Exchange 上自动绑定多部分/数据作为附件。选项 attachmentMultipartBinding=true 和 disableStreamCache=false 无法一起工作。删除 disableStreamCache 以使用 AttachmentMultipartBinding。默认情况下是关闭的,因为这可能要求 servlet 特定的配置在使用 Servlet 时启用此功能。 | false | 布尔值 |
camel.component.servlet.autowired-enabled | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.servlet.bridge-error-handler | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生任何异常,现在将作为消息处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
camel.component.servlet.enabled | 是否启用 servlet 组件的自动配置。这默认是启用的。 | 布尔值 | |
camel.component.servlet.file-name-ext-whitelist | 接受上传的文件的可接受的文件名扩展白名单。多个扩展可以使用逗号分开,如 txt、xml。 | 字符串 | |
camel.component.servlet.header-filter-strategy | 要使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头到 Camel 消息或从 Camel 消息过滤。选项是一个 org.apache.camel.spi.HeaderFilterStrategy 类型。 | HeaderFilterStrategy | |
camel.component.servlet.http-binding | 使用自定义 HttpBinding 控制 Camel 消息和 HttpClient 之间的映射。选项是一个 org.apache.camel.http.common.HttpBinding 类型。 | HttpBinding | |
camel.component.servlet.http-configuration | 使用共享 HttpConfiguration 作为基本配置。选项是一个 org.apache.camel.http.common.HttpConfiguration 类型。 | HttpConfiguration | |
camel.component.servlet.http-registry | 使用自定义 org.apache.camel.component.servlet.HttpRegistry。选项是一个 org.apache.camel.http.common.HttpRegistry 类型。 | HttpRegistry | |
camel.component.servlet.mute-exception | 如果启用并且交换在消费者上失败处理,则响应正文不包含异常堆栈追踪。 | false | 布尔值 |
camel.component.servlet.servlet-name | 要使用的默认 servlet 名称。默认名称为 CamelServlet。 | CamelServlet | 字符串 |
camel.servlet.mapping.context-path | servlet 组件用于自动映射的上下文路径。 | /camel/* | 字符串 |
camel.servlet.mapping.enabled | 启用 servlet 组件到 Spring Web 上下文的自动映射。 | true | 布尔值 |
camel.servlet.mapping.servlet-name | Camel servlet 的名称。 | CamelServlet | 字符串 |