38.4. 端点选项
MongoDB 端点使用 URI 语法进行配置:
mongodb:connectionBean
mongodb:connectionBean
使用以下路径和查询参数:
38.4.1. 路径参数(1 参数) 复制链接链接已复制到粘贴板!
| 名称 | 描述 | 默认 | 类型 |
|---|---|---|---|
| connectionBean (common) | 必需 设置连接 bean 引用,用于查找用于连接数据库的客户端。 | 字符串 |
38.4.2. 查询参数(27 参数) 复制链接链接已复制到粘贴板!
| 名称 | 描述 | 默认 | 类型 |
|---|---|---|---|
| 集合 (通用) | 设置要绑定到此端点的 MongoDB 集合的名称。 | 字符串 | |
| collectionIndex (common) | 设置集合索引(JSON FORMAT : \\{ field1 : order1, field2 : order2})。 | 字符串 | |
| createCollection (common) | 在初始期间创建集合(如果它不存在)。默认为 true。 | true | 布尔值 |
| 数据库 (通用) | 将 MongoDB 数据库的名称设置为 target。 | 字符串 | |
| 主机 (通用) | host:port 格式的 mongodb 服务器主机地址。也可以将多个地址用作以逗号分隔的主机列表:host1:port1,host2:port2。如果指定了 hosts 参数,则忽略提供的 connectionBean。 | 字符串 | |
| mongoConnection (common) | 设置连接 bean,用作连接到数据库的客户端。 | MongoClient | |
| 操作 (common) | 设置此端点将根据 MongoDB 执行的操作。 Enum 值:
| MongoDbOperation | |
| outputType (common) | 将制作者的输出转换为所选类型 : DocumentList Document 或 MongoIterable。DocumentList 或 MongoIterable 适用于 findAll 和 aggregate。文档适用于所有其他操作。 Enum 值:
| MongoDbOutputType | |
| bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
| consumerType (consumer) | 消费者类型。 | 字符串 | |
| exceptionHandler (消费者) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不在使用。默认情况下,使用者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
| ExchangePattern (消费者) | 在消费者创建交换时设置交换模式。 Enum 值:
| ExchangePattern | |
| lazyStartProducer (producer) | 制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
| cursorRegenerationDelay (高级) | MongoDB 可跟踪光标将阻止到新数据到达为止。如果没有插入新数据,则在一段时间后,MongoDB 服务器将自动释放和关闭光标。如果需要,客户端会重新生成光标。这个值指定在尝试获取新光标之前等待的时间,如果尝试失败,下一次尝试前等待多长时间。默认值为 1000ms。 | 1000 | long |
| 动态度 (高级) | 设置此端点将尝试动态解析目标数据库和来自传入 Exchange 属性的集合。可用于在运行时覆盖在其他静态端点 URI 上指定的数据库和集合。它默认是禁用的,以提高性能。启用它将需要最少的性能命中。 | false | 布尔值 |
| ReadPreference (高级) | 配置 MongoDB 客户端如何将读取操作路由到副本集的成员。可能的值有 PRIMARY, PRIMARY_PREFERRED, SECONDARY, SECONDARY_PREFERRED 或 NEAREST。 Enum 值:
| 主 | 字符串 |
| writeConcern (高级) | 使用从 MongoDB 请求的确认级别配置连接 bean,以便将操作写入独立的 mongod、replicaset 或 cluster。可能的值有 ACKNOWLEDGED, W1, W2, W3, UNACKNOWLEDGED, JOURNALED 或 MAJORITY。 Enum 值:
| 已确认 | 字符串 |
| writeResultAsHeader (advanced) | 在写入操作中,它会确定是否将 WriteResult 作为 OUT 消息的正文,将 IN 消息传送到 OUT,并将 WriteResult 作为一个标头附加。 | false | 布尔值 |
| streamFilter (changeStream) | 更改流消费者的过滤条件。 | 字符串 | |
| 密码 (安全) | mongodb 连接的用户密码。 | 字符串 | |
| 用户名 (安全) | mongodb 连接的用户名。 | 字符串 | |
| persistentId (tail) | 一个尾部跟踪集合可为多个可尾部消费者托管多个跟踪器。为了保持它们分开,每个 tracker 应该有自己的唯一的 persistentId。 | 字符串 | |
| persistentTailTracking (tail) | 启用持久的尾部跟踪,这是跟踪系统重启后最近消耗的消息的机制。系统下次启动时,端点将从上次停止的记录点恢复光标。 | false | 布尔值 |
| tailTrackCollection (tail) | 将保留尾部跟踪信息的集合。如果没有指定,则默认使用 MongoDbTailTrackingConfig#DEFAULT_COLLECTION。 | 字符串 | |
| tailTrackDb (tail) | 指明尾部跟踪机制将保留的数据库。如果没有指定,则默认选择当前的数据库。即使已启用,也不会考虑动态性,即 tail 跟踪数据库不会有变化。 | 字符串 | |
| tailTrackField (tail) | 将放置最后一次跟踪值的字段。如果没有指定,则默认使用 MongoDbTailTrackingConfig#DEFAULT_FIELD。 | 字符串 | |
| tailTrackIncreasingField (tail) | 传入记录中的关联字段具有更大的性质,将在每次生成时都用于定位尾部光标。可以通过类型为 tail 的查询创建光标: tailTrackIncreasingField 大于 lastValue (可能从持久跟踪中恢复)。可以是 Integer、Date、String 等。注意:当前不支持点表示法,因此字段应位于文档的最顶层。 | 字符串 |