282.2. 选项
Restlet 组件支持 23 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
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 SerialreuseAddress 属性。 | 布尔值 | |
maxQueued (consumer) | 如果没有任何 worker 线程可用于服务,则可排队的最大调用数。如果值为 '0',则不使用队列,并在没有 worker 线程立即可用时拒绝调用。如果值为 '-1',则使用未绑定队列,并且调用永远不会被拒绝。 | 整数 | |
disableStreamCache (consumer) | 确定是否缓存来自 Restlet 的原始输入流(Camel will read the stream in memory/overflow to file, Stream cache)缓存。默认情况下,Camel 将缓存 Restlet 输入流,以支持多次读取,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将此选项设置为 true,例如将其直接流传输到文件或其他持久性存储。DefaultRestletBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文中,以便支持多次读取流。 | false | 布尔值 |
port (consumer) | 为 restlet 消费者路由配置端口号。这允许配置一次,以便为这些使用者重复使用相同的端口。 | int | |
同步 (producer) | 是否将同步 Restlet 客户端用于制作者。将这个选项设置为 true 可获得更快的性能,因为它认为 Restlet 同步客户端可以更好地工作。 | 布尔值 | |
enabledConverters (advanced) | 作为完整类名称或简单类名称启用的转换器列表。如果为空或 null,则会自动注册的所有转换器 | list | |
useGlobalSslContext 参数 (security) | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
sslContextParameters (security) | 使用 SSLContextParameters 配置安全性 | SSLContextParameters | |
resolveProperty Placeholders (advanced) | 组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。 | true | 布尔值 |
Restlet 端点使用 URI 语法进行配置:
restlet:protocol:host:port/uriPattern
使用以下路径和查询参数:
282.2.1. 路径参数(4 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
protocol | 必需 使用的协议是 http 或 https | 字符串 | |
主机 | 必需 restlet 服务的主机名 | 字符串 | |
port | 必需 restlet 服务的端口号 | 80 | int |
uriPattern | 资源模式,如 /customer/id | 字符串 |
282.2.2. 查询参数(18 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
restletMethod (common) | 在制作者端点上,指定要使用的请求方法。在消费者端点上,指定端点只消耗 restletMethod 请求。 | GET | 方法 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
restletMethods (consumer) | 指定一个或多个由 restlet 消费者端点提供服务的逗号(如 restletMethods=post、put)的方法。如果指定了 restletMethod 和 restletMethods 选项,则忽略 restletMethod 设置。可能的方法有: ALL、CONNECT、DELETE、GET、HEAD、OPTIONS、PATCH、POST、PUT、TRACE | 字符串 | |
disableStreamCache (consumer) | 确定是否缓存来自 Restlet 的原始输入流(Camel will read the stream in memory/overflow to file, Stream cache)缓存。默认情况下,Camel 将缓存 Restlet 输入流,以支持多次读取,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将此选项设置为 true,例如将其直接流传输到文件或其他持久性存储。DefaultRestletBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文中,以便支持多次读取流。 | false | 布尔值 |
ExceptionHandler ( consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
restletUriPatterns (consumer) | 弃用的 指定一个或多个 URI 模板由 restlet 消费者端点提供服务,使用 # 表示法引用 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 生成者自动关闭流表示,作为来自调用 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 和 Camel 消息之间的绑定。 | RestletBinding | |
同步 (高级) | 设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。 | false | 布尔值 |
restletRealm (security) | 将 restlet 的安全域配置为映射: | Map | |
sslContextParameters (security) | 使用 SSLContextParameters 配置安全性。 | SSLContextParameters |