301.2. 选项


Servlet 组件支持 9 个选项,如下所列。

Name描述默认值类型

servletName (consumer)

要使用的默认 servlet 名称。默认名称为 CamelServlet。

CamelServlet

字符串

httpRegistry (consumer)

使用自定义 org.apache.camel.component.servlet.HttpRegistry。

 

HttpRegistry

attachmentMultipart Binding (consumer)

是否自动将 multipart/form-data 作为 Camel Exchange 上的附件进行自动绑定。选项 attachmentMultipartBinding=true 和 disableStreamCache=false 无法一起工作。删除 disableStreamCache 以使用 AttachmentMultipartBinding。默认情况下关闭此设置,因为这可能需要 servlet 特定的配置,以便在使用 Servlet 时启用此功能。

false

布尔值

fileNameExtWhitelist (consumer)

接受上传的文件的已接受文件扩展名白名单。可以使用逗号分隔多个扩展,如 txt、xml。

 

字符串

httpBinding (advanced)

使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。

 

HttpBinding

httpConfiguration (advanced)

将共享 HttpConfiguration 用作基础配置。

 

HttpConfiguration

允许JavaSerialized Object (advanced)

当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java serialization。默认为关闭。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。

false

布尔值

headerFilterStrategy (filter)

使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤到 Camel 消息的标头。

 

HeaderFilterStrategy

resolveProperty Placeholders (advanced)

组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。

true

布尔值

Servlet 端点使用 URI 语法进行配置:

servlet:contextPath

使用以下路径和查询参数:

301.2.1. 路径参数(1 参数):

Name描述默认值类型

contextPath

必需的 context-path

 

字符串

301.2.2. 查询参数(22 参数):

Name描述默认值类型

disableStreamCache (common)

确定 Servlet 中的原始输入流是否被缓存(Camel 将会在 memory/overflow 中读取流到文件,流缓存)缓存。默认情况下,Camel 将缓存 Servlet 输入流,以支持多次读取,以确保其 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将此选项设置为 true,例如将其直接流传输到文件或其他持久性存储。DefaultHttpBinding 将请求输入流复制到流缓存中,如果此选项为 false,则将它放入消息正文,以支持多次读取流。如果您使用 Servlet 到 bridge/proxy 端点,则请考虑启用此选项来提高性能,如果您不需要多次读取消息有效负载。http/http4 producer 默认缓存响应正文流。如果将此选项设置为 true,则生成者不会缓存响应正文流,而是使用响应流作为消息正文。

false

布尔值

headerFilterStrategy (common)

使用自定义 HeaderFilterStrategy 过滤到 Camel 消息的标头。

 

HeaderFilterStrategy

httpBinding (common)

使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。

 

HttpBinding

async (consumer)

将消费者配置为在 async 模式下工作

false

布尔值

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

chunked (consumer)

如果此选项为 false,则 Servlet 将禁用 HTTP 流,并在响应上设置 content-length 标头

true

布尔值

httpMethodRestrict (consumer)

仅在 HttpMethod 匹配时才允许使用,如 GET/POST/PUT 等。可以使用逗号分隔多个方法。

 

字符串

matchOnUriPrefix (consumer)

如果找不到完全匹配,消费者是否应该尝试通过匹配 URI 前缀来查找目标消费者。

false

布尔值

responseBufferSize (consumer)

在 javax.servlet.ServletResponse 上使用自定义缓冲区大小。

 

整数

servletName (consumer)

要使用的 servlet 的名称

CamelServlet

字符串

transferException (consumer)

如果在消费者端启用并交换失败处理,如果原因 Exception 在响应中作为 application/x-java-serialized-object 内容类型发送序列化,则结果为 application/x-java-serialized-object 内容类型。在生产者侧,异常将反序列化并丢弃为原样,而不是 HttpOperationFailedException。原因异常需要按顺序处理。默认为关闭。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。

false

布尔值

attachmentMultipartBinding (consumer)

是否自动将 multipart/form-data 作为 Camel Exchange 上的附件进行自动绑定。选项 attachmentMultipartBinding=true 和 disableStreamCache=false 无法一起工作。删除 disableStreamCache 以使用 AttachmentMultipartBinding。默认情况下关闭此设置,因为这可能需要 servlet 特定的配置,以便在使用 Servlet 时启用此功能。

false

布尔值

eagerCheckContentAvailable (consumer)

如果 content-length 标头为 0,还是 eager 检查 HTTP 请求是否有内容。如果 HTTP 客户端没有发送流数据,则可以打开此项。

false

布尔值

ExceptionHandler ( consumer)

要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。

 

ExceptionHandler

exchangePattern (consumer)

在消费者创建交换时设置交换模式。

 

ExchangePattern

fileNameExtWhitelist (consumer)

接受上传的文件的已接受文件扩展名白名单。可以使用逗号分隔多个扩展,如 txt、xml。

 

字符串

optionsEnabled (consumer)

指定是否为这个 Servlet 消费者启用 HTTP OPTIONS。默认情况下关闭 OPTIONS。

false

布尔值

traceEnabled (consumer)

指定是否为这个 Servlet 使用者启用 HTTP TRACE。默认情况下关闭 TRACE。

false

布尔值

mapHttpMessageBody (advanced)

如果此选项为 true,则交换的 IN Exchange Body 将映射到 HTTP 正文。把它设置为 false 可以避免 HTTP 映射。

true

布尔值

mapHttpMessageFormUrl EncodedBody (advanced)

如果此选项为 true,则交换的 IN Exchange Form Encoded body 将映射到 HTTP。把它设置为 false 可以避免 HTTP Form Encoded body 映射。

true

布尔值

mapHttpMessageHeaders (advanced)

如果此选项为 true,则交换的 IN Exchange Headers 将映射到 HTTP 标头。把它设置为 false 将避免 HTTP 标头映射。

true

布尔值

同步 (高级)

设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。

false

布尔值

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.