282.2. 选项
Restlet 组件支持 23 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
controllerDaemon (consumer) | 指明控制器线程应该是守护进程(没有阻塞 JVM 退出)。 | 布尔值 | |
controllerSleepTimeMs (consumer) | 在每次控制之间休眠控制器线程的时间。 | 整数 | |
headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
inboundBufferSize (consumer) | 读取消息时缓冲区的大小。 | 整数 | |
maxConnectionsPerHost (common) | 每个主机(IP 地址)的最大并发连接数。 | 整数 | |
maxThreads (consumer) | 将服务请求的最大线程数。 | 整数 | |
lowThreads (consumer) | 确定连接器被视为超载的 worker 线程数量。 | 整数 | |
maxTotalConnections (common) | 总数内的最大并发连接数。 | 整数 | |
minThreads (consumer) | 等待服务请求的最小线程。 | 整数 | |
outboundBufferSize (consumer) | 编写消息时缓冲区的大小。 | 整数 | |
persistingConnections (consumer) | 指明连接是否应该在调用后保持活动状态。 | 布尔值 | |
pipeliningConnections (consumer) | 指明是否支持 pipelining 连接。 | 布尔值 | |
threadMaxIdleTimeMs (consumer) | 空闲线程在收集前等待操作的时间。 | 整数 | |
useForwardedForHeader (consumer) | 查找流行代理和缓存支持的 X-Forwarded-For 标头,并使用它来填充 Request.getClientAddresses ()方法结果。这些信息只适用于本地网络中的中介组件。通过设置假的标头,可以轻松地更改其他地址,不应对严重的安全检查进行信任。 | 布尔值 | |
reuseAddress (consumer) | 启用/禁用 SO_REUSEADDR 套接字选项。如需了解更多详细信息,请参阅 java.io.ServerSocket#reuseAddress 属性。 | 布尔值 | |
maxQueued (consumer) | 如果没有任何 worker 线程可用于服务,则可以排队的最大调用数。如果值为 '0',则不会使用队列,如果没有 worker 线程立即可用,则拒绝调用。如果值为 '-1',则使用未绑定队列,并且调用永远不会被拒绝。 | 整数 | |
disableStreamCache (consumer) | 决定是否缓存 Restlet 的原始输入流(Camel 会将流读取到内存/流到文件、流缓存)缓存。默认情况下,Camel 将缓存 Restlet 输入流来支持多次读取它,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将这个选项设置为 true,比如将其直接流传输到文件或其他持久性存储。DefaultRestletBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文,以便支持多次读取流。 | false | 布尔值 |
port (consumer) | 为 restlet 消费者路由配置端口号。这允许将此一次配置为为这些消费者重复使用相同的端口。 | int | |
synchronous (producer) | 是否将同步 Restlet 客户端用于制作者。将这个选项设置为 true 可能会产生更快的性能,因为它似乎 Restlet 同步客户端可以更好地工作。 | 布尔值 | |
enabledConverters (advanced) | 作为完整类名称或简单类名称启用的转换器列表。如果为空或 null,则会自动注册的所有转换器 | list | |
useGlobalSslContext Parameters (security) | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
sslContextParameters (security) | 使用 SSLContextParameters 配置安全性 | SSLContextParameters | |
resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Restlet 端点使用 URI 语法进行配置:
restlet:protocol:host:port/uriPattern
使用以下路径和查询参数:
282.2.1. 路径参数(4 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
protocol | 必需。要使用的协议是 http 或 https | 字符串 | |
主机 | 必需 restlet 服务的主机名 | 字符串 | |
端口 | 需要 restlet 服务的端口号 | 80 | int |
uriPattern | 资源模式,如 /customer/id | 字符串 |
282.2.2. 查询参数(18 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
restletMethod (common) | 在制作者端点上,指定要使用的请求方法。在消费者端点中指定端点只消耗 restletMethod 请求。 | GET | 方法 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
restletMethods (consumer) | 指定一个或多个以逗号分开的方法(如 restletMethods=post,put)由 restlet 消费者端点提供服务。如果指定了 restletMethod 和 restletMethods 选项,则忽略 restletMethods 设置。可能的方法有: ALL,CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE | 字符串 | |
disableStreamCache (consumer) | 决定是否缓存 Restlet 的原始输入流(Camel 会将流读取到内存/流到文件、流缓存)缓存。默认情况下,Camel 将缓存 Restlet 输入流来支持多次读取它,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将这个选项设置为 true,比如将其直接流传输到文件或其他持久性存储。DefaultRestletBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文,以便支持多次读取流。 | false | 布尔值 |
exceptionHandler (consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
restletUriPatterns (consumer) | 弃用 指定由 restlet 消费者端点提供的一个或多个 URI 模板,使用 # 标记来引用 Camel Registry 中的列表。如果在端点 URI 中定义了 URI 模式,则端点中定义的 URI 模式和 restletUriPatterns 选项都会被遵守。 | list | |
connectTimeout (producer) | 如果连接超时,客户端将放弃连接,0 代表无限等待。 | 30000 | int |
cookieHandler (producer) | 配置 Cookie 处理程序来维护 HTTP 会话 | CookieHandler | |
socketTimeout (producer) | 客户端套接字接收超时,0 代表无限等待。 | 30000 | int |
throwExceptionOnFailure (producer) | 是否在生成者失败时抛出异常。如果此选项为 false,则 http 状态代码被设置为消息标头,如果它有一个错误值,则可以检查它。 | true | 布尔值 |
autoCloseStream (producer) | 是否以响应方式自动关闭流表示,以使用 restlet producer 调用 REST 服务。如果响应是流传输的,且启用了 streamRepresentation 选项,您可能需要从流传输响应中自动关闭 InputStream,以确保在 Camel Exchange 进行路由时关闭输入流。但是,如果您需要读取 Camel 路由之外的流,可能需要自动关闭流。 | false | 布尔值 |
streamRepresentation (producer) | 是否支持流表示,作为使用 restlet 生成者调用 REST 服务的响应。如果响应是流传输的,则可以启用此选项以使用 java.io.InputStream 作为 Camel Message body 上的消息正文。如果使用这个选项,您可能需要启用 autoCloseStream 选项,并确保在 Camel Exchange 被路由时关闭输入流。但是,如果您需要读取 Camel 路由之外的流,可能需要自动关闭流。 | false | 布尔值 |
headerFilterStrategy (advanced) | 使用自定义 HeaderFilterStrategy 过滤标头到 Camel 消息。 | HeaderFilterStrategy | |
restletBinding (advanced) | 使用自定义 RestletBinding 在 Restlet 和 Camel 消息之间绑定。 | RestletBinding | |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
restletRealm (security) | 将 restlet 的安全域配置为映射。 | Map | |
sslContextParameters (security) | 使用 SSLContextParameters 配置安全性。 | SSLContextParameters |