174.2. 选项
Jetty 9 组件支持 33 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
sslKeyPassword (security) | 密钥密码,用于访问密钥存储中证书的 key 条目(这与为密钥存储命令的 -keypass 选项提供的密码相同)。 | 字符串 | |
sslPassword (security) | 访问密钥存储文件所需的 ssl 密码(这是提供给密钥存储命令的 -storepass 选项的同一密码)。 | 字符串 | |
keystore (security) | 指定 Java 密钥存储文件的位置,该文件在密钥条目中包含 Jetty 服务器自己的 X.509 证书。 | 字符串 | |
errorHandler (advanced) | 此选项用于设置 Jetty 服务器使用的 ErrorHandler。 | ErrorHandler | |
sslSocketConnectors (security) | 包含每个端口号特定 SSL 连接器的映射。 | Map | |
socketConnectors (security) | 包含每个端口号特定 HTTP 连接器的映射。使用与 sslSocketConnectors 相同的原则。 | Map | |
httpClientMinThreads (producer) | 要为 HttpClient 线程池中的最小线程数设置值,请执行以下操作:请注意,必须同时配置最小和最大大小。 | 整数 | |
httpClientMaxThreads (producer) | 要为 HttpClient 线程池中最大线程数设置值,请执行以下操作:请注意,必须同时配置最小和最大大小。 | 整数 | |
minThreads (consumer) | 要为服务器线程池中的最小线程数设置值。请注意,必须同时配置最小和最大大小。 | 整数 | |
maxThreads (consumer) | 要为服务器线程池中的最大线程数设置值。请注意,必须同时配置最小和最大大小。 | 整数 | |
threadPool (consumer) | 将自定义线程池用于服务器。这个选项只在特殊情况下使用。 | ThreadPool | |
enableJmx (common) | 如果此选项为 true,则会为此端点启用 Jetty JMX 支持。 | false | 布尔值 |
jettyHttpBinding (advanced) | 使用自定义 org.apache.camel.component.jetty.JettyHttpBinding,用于自定义应当为制作者编写的响应。 | JettyHttpBinding | |
httpBinding (advanced) | not be used - 改为使用 JettyHttpBinding。 | HttpBinding | |
httpConfiguration (advanced) | jetty 组件不使用 HttpConfiguration。 | HttpConfiguration | |
mbContainer (advanced) | 如果使用现有的配置的 org.eclipse.jetty.jmx.MBeanContainer,如果启用了 JMX,则 Jetty 用来注册 mbeans。 | MBeanContainer | |
sslSocketConnector Properties (security) | 包含常规 SSL 连接器属性的映射。 | Map | |
socketConnector Properties (security) | 包含常规 HTTP 连接器属性的映射。使用与 sslSocketConnectorProperties 相同的原则。 | Map | |
continuationTimeout (consumer) | 当使用 Jetty 作为消费者(server)时,允许在 millis 中设置超时。默认情况下,Jetty 使用 30000。您可以使用 = 0 值永远不会过期。如果发生超时,则请求将过期,Jetty 会将 http error 503 返回到客户端。这个选项仅在使用带有异步路由引擎的 Jetty 时使用。 | 30000 | Long |
useContinuation (consumer) | 是否要将 Jetty 持续使用 Jetty 服务器。 | true | 布尔值 |
sslContextParameters (security) | 使用 SSLContextParameters 配置安全性 | SSLContextParameters | |
useGlobalSslContext Parameters (security) | 启用使用全局 SSL 上下文参数 | false | 布尔值 |
responseBufferSize (common) | 允许在 Jetty 连接器上配置响应缓冲区大小的自定义值。 | 整数 | |
requestBufferSize (common) | 允许在 Jetty 连接器上配置请求缓冲区大小的自定义值。 | 整数 | |
requestHeaderSize (common) | 允许在 Jetty 连接器上配置请求标头大小的自定义值。 | 整数 | |
responseHeaderSize (common) | 允许在 Jetty 连接器上配置响应标头大小的自定义值。 | 整数 | |
proxyHost (proxy) | 使用 http 代理配置主机名。 | 字符串 | |
proxyPort (proxy) | 使用 http 代理配置端口号。 | 整数 | |
useXForwardedFor Header (common) | 使用 HttpServletRequest.getRemoteAddr 中的 X-Forwarded-For 标头。 | false | 布尔值 |
sendServerVersion (consumer) | 如果选项为 true,则 jetty 服务器会将日期标头发送到发送请求的客户端。请注意,请确保没有其他 camel-jetty 端点共享相同的端口,否则此选项可能无法按预期工作。 | true | 布尔值 |
allowJavaSerialized Object (advanced) | 当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java 序列化。默认情况下是关闭的。如果启用此选项,则 Java 会将传入数据从请求反序列化到 Java,这可能会成为潜在的安全风险。 | false | 布尔值 |
headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Jetty 9 端点使用 URI 语法进行配置:
jetty:httpUri
使用以下路径和查询参数:
174.2.1. 路径参数(1 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
httpUri | 必需 要调用的 HTTP 端点的 url。 | URI |
174.2.2. 查询参数(54 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
chunked (common) | 如果此选项为 false,则 Servlet 将禁用 HTTP 流并在响应中设置 content-length 标头 | true | 布尔值 |
disableStreamCache (common) | 确定来自 Servlet 的原始输入流是否被缓存(Camel 会将流读取到内存/流到文件、流缓存)缓存。默认情况下,Camel 将缓存 Servlet 输入流来支持多次读取它,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将这个选项设置为 true,比如将其直接流传输到文件或其他持久性存储。DefaultHttpBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文,以支持多次读取流。如果您使用 Servlet 桥接/代理,则考虑启用这个选项以提高性能,以防您不需要多次读取消息有效负载。http/http4 producer 默认将缓存响应正文流。如果将此选项设置为 true,则制作者不会缓存响应正文流,而是使用响应流作为消息正文。 | false | 布尔值 |
enableMultipartFilter (common) | Jetty org.eclipse.jetty.servlets.MultiPartFilter 是否已启用。在桥接端点时,您应该将此值设置为 false,以确保多部分请求也被代理/桥接。 | false | 布尔值 |
headerFilterStrategy (common) | 使用自定义 HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
transferException (common) | 如果在消费者端启用并且 Exchange 失败,如果导致的 Exception 被发送序列化为 application/x-java-serialized-object 内容类型。在生成者一侧,异常将被反序列化和抛出,而不是 HttpOperationFailedException。导致异常需要被序列化。默认情况下是关闭的。如果启用此选项,则 Java 会将传入数据从请求反序列化到 Java,这可能会成为潜在的安全风险。 | false | 布尔值 |
httpBinding (common) | 使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。 | HttpBinding | |
async (consumer) | 将消费者配置为在 async 模式中工作 | false | 布尔值 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
continuationTimeout (consumer) | 当使用 Jetty 作为消费者(server)时,允许在 millis 中设置超时。默认情况下,Jetty 使用 30000。您可以使用 = 0 值永远不会过期。如果发生超时,则请求将过期,Jetty 会将 http error 503 返回到客户端。这个选项仅在使用带有异步路由引擎的 Jetty 时使用。 | 30000 | Long |
enableCORS (consumer) | 如果选项为 true,则 Jetty 服务器将设置 CrossOriginFilter,它支持 CORS。 | false | 布尔值 |
enableJmx (consumer) | 如果此选项为 true,则会为此端点启用 Jetty JMX 支持。如需了解更多详细信息,请参阅 Jetty JMX 支持。 | false | 布尔值 |
httpMethodRestrict (consumer) | 仅用于允许 HttpMethod 匹配,如 GET/POST/PUT 等。可以使用逗号分隔多个方法。 | 字符串 | |
matchOnUriPrefix (consumer) | 如果找不到完全匹配,消费者是否应该尝试通过匹配 URI 前缀来查找目标消费者。 | false | 布尔值 |
responseBufferSize (consumer) | 要在 javax.servlet.ServletResponse 上使用自定义缓冲区大小。 | 整数 | |
sendDateHeader (consumer) | 如果选项为 true,则 jetty 服务器会将日期标头发送到发送请求的客户端。请注意,请确保没有其他 camel-jetty 端点共享相同的端口,否则此选项可能无法按预期工作。 | false | 布尔值 |
sendServerVersion (consumer) | 如果选项为 true,则 jetty 会将带有 jetty 版本信息的 server 标头发送到发送请求的客户端。请注意,请确保没有其他 camel-jetty 端点共享相同的端口,否则此选项可能无法按预期工作。 | true | 布尔值 |
sessionSupport (consumer) | 指定是否在 Jetty 的服务器端启用会话管理器。 | false | 布尔值 |
useContinuation (consumer) | 是否要将 Jetty 持续使用 Jetty 服务器。 | 布尔值 | |
eagerCheckContentAvailable (consumer) | 是否要求检查 HTTP 请求是否有 content-length 标头是否为 0。如果 HTTP 客户端没有发送流数据,则可以打开它。 | false | 布尔值 |
exceptionHandler (consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
filterInitParameters (consumer) | 配置 filter init 参数。这些参数将应用到过滤器列表,然后再启动 jetty 服务器。 | Map | |
filtersRef (consumer) | 允许使用放入列表的自定义过滤器,并可在 Registry 中找到。可以使用逗号分隔多个值。 | 字符串 | |
handlers (consumer) | 指定要在 Registry 中查找的以逗号分隔的处理程序实例集合。这些处理程序添加到 Jetty servlet 上下文(例如,为了提高安全性)。重要:您无法使用同一端口号的不同 Jetty 端点使用不同的处理程序。处理程序与端口号关联。如果您需要不同的处理程序,则使用不同的端口号。 | 字符串 | |
httpBindingRef (consumer) | 弃用 选项,在远程服务器失败时禁用抛出 HttpOperationFailedException。这样,无论 HTTP 状态代码是什么,您都可以获得所有响应。 | 字符串 | |
multipartFilter (consumer) | 允许使用自定义多部分过滤器。注:设置 multipartFilterRef 将 enableMultipartFilter 的值强制为 true。 | Filter | |
multipartFilterRef (consumer) | 弃用了 使用自定义多部分过滤器的 Allows。注:设置 multipartFilterRef 将 enableMultipartFilter 的值强制为 true。 | 字符串 | |
optionsEnabled (consumer) | 指定是否为此 Servlet 使用者启用 HTTP OPTIONS。默认情况下关闭 OPTIONS。 | false | 布尔值 |
traceEnabled (consumer) | 指定是否为此 Servlet 使用者启用 HTTP TRACE。默认情况下关闭 TRACE。 | false | 布尔值 |
bridgeEndpoint (producer) | 如果选项为 true,HttpProducer 将忽略 Exchange.HTTP_URI 标头,并使用端点的 URI 请求。您还可以将选项 throwExceptionOnFailure 设置为 false,以让 HttpProducer 发送所有故障响应。 | false | 布尔值 |
connectionClose (producer) | 指定是否需要将 Connection Close 标头添加到 HTTP 请求。默认情况下,connectionClose 为 false。 | false | 布尔值 |
cookieHandler (producer) | 配置 Cookie 处理程序来维护 HTTP 会话 | CookieHandler | |
copyHeaders (producer) | 如果此选项为 true,则 IN Exchange 标头将根据复制策略复制到 OUT 交换标头中。把它设置为 false,仅允许包含来自 HTTP 响应的标头(而不是传播 IN 标头)。 | true | 布尔值 |
httpClientMaxThreads (producer) | 要为 HttpClient 线程池中最大线程数设置值,请执行以下操作:此设置覆盖组件级别上配置的任何设置。请注意,必须同时配置最小和最大大小。如果没有设置它,则默认为 Jettys 线程池中使用的最大 254 线程。 | 254 | 整数 |
httpClientMinThreads (producer) | 要为 HttpClient 线程池中的最小线程数设置值,请执行以下操作:此设置覆盖组件级别上配置的任何设置。请注意,必须同时配置最小和最大大小。如果没有设置它,则默认为 Jettys 线程池中使用的 min 8 个线程。 | 8 | 整数 |
httpMethod (producer) | 配置要使用的 HTTP 方法。如果设置,HttpMethod 标头无法覆盖这个选项。 | HttpMethods | |
ignoreResponseBody (producer) | 如果此选项为 true,http producer 不会读取响应正文并缓存输入流 | false | 布尔值 |
preserveHostHeader (producer) | 如果选项为 true,HttpProducer 会将 Host 标头设置为当前交换主机标头中包含的值,用于您希望下游服务器接收的主机标头来反映上游客户端调用的 URL,这将允许使用 Host 标头为代理服务生成准确的 URL。 | false | 布尔值 |
throwExceptionOnFailure (producer) | 如果远程服务器失败响应,禁用禁用 HttpOperationFailedException 的选项。这样,无论 HTTP 状态代码是什么,您都可以获得所有响应。 | true | 布尔值 |
httpClient (producer) | 设置共享 HttpClient,以用于此端点创建的所有制作者。默认情况下,每个制作者都将使用一个新的 http 客户端,而不共享。重要: 当不再使用时,请确保处理共享客户端的生命周期,如停止客户端。Camel 将在客户端上调用 start 方法,以确保此端点创建制作者时启动。这个选项只在特殊情况下使用。 | HttpClient | |
httpClientParameters (producer) | 配置 Jetty 的 HttpClient.例如,设置 httpClient.idleTimeout=30000 将闲置超时设置为 30 秒。和 httpClient.timeout=30000 将请求超时设置为 30 秒,如果您长时间运行了请求/响应调用,则需要更早地超时。 | Map | |
jettyBinding (producer) | 使用自定义 JettyHttpBinding,用于自定义应当如何为制作者编写响应的方式。 | JettyHttpBinding | |
jettyBindingRef (producer) | 弃用 以使用自定义 JettyHttpBinding,用于自定义应当如何为制作者编写响应的方式。 | 字符串 | |
okStatusCodeRange (producer) | 被视为成功响应的状态代码。这些值包含为。可以定义多个范围,用逗号分开,如 200-204,209,301-304。每个范围都必须是一个数字或 from-to,包括横线。 | 200-299 | 字符串 |
urlRewrite (producer) | 弃用 引用一个自定义 org.apache.camel.component.http.UrlRewrite,允许您在桥接/proxy 端点时重写 url。详情请查看 http://camel.apache.org/urlrewrite.html | UrlRewrite | |
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 | 布尔值 |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
proxyAuthScheme (proxy) | 要使用的代理验证方案 | 字符串 | |
proxyHost (proxy) | 要使用的代理主机名 | 字符串 | |
proxyPort (proxy) | 要使用的代理端口 | int | |
authHost (security) | 与 NTML 一起使用的身份验证主机 | 字符串 | |
sslContextParameters (security) | 使用 SSLContextParameters 配置安全性 | SSLContextParameters |