212.8. LevelDB


可从 Camel 2.10 开始

leveldb 是一个轻量级、可嵌入的键值数据库。它允许与 Camel 一起为各种 Camel 功能(如聚合器)提供持久性支持。

它提供的当前功能:

  • LevelDBAggregationRepository

212.8.1. Using LevelDBAggregationRepository

LevelDBAggregationRepository 是一个 AggregationRepository,可在 fly persist 中保留聚合的消息。这可确保您不会松散的消息,因为默认聚合器将仅使用内存 AggregationRepository

它有以下选项:

选项类型描述

repositoryName

字符串

必需的存储库名称。允许您将共享 LevelDBFile 用于多个存储库。

persistentFileName

字符串

持久性存储的文件名。如果启动新文件时不存在 文件。

levelDBFile

LevelDBFile

使用现有配置的 org.apache.camel.component.leveldb.LevelDBFile 实例。

sync

布尔值

Camel 2.12: LevelDBFile 应在写入或不同步。默认为 false。通过同步写操作,确保其始终等待所有写入操作到磁盘,因此不会松散更新。有关同步与同步写入的详情,请参阅 LevelDB 文档。

returnOldExchange

布尔值

如果存在,get 操作是否应该返回旧的现有 Exchange。默认情况下,这个选项为 false 以优化,因为我们在聚合时不需要旧的交换。

useRecovery

布尔值

是否启用恢复。此选项默认为 true。启用 Camel 聚合器自动恢复失败的聚合交换时,它们被重新提交。

recoveryInterval

long

如果启用了恢复,则会每 x 一次运行后台任务来扫描失败的交换以进行恢复并重新提交。默认情况下,这个间隔为 5000 millis。

maximumRedeliveries

int

允许您限制恢复的交换尝试的最大重新传送尝试数。如果启用,如果所有重新传送尝试都失败,则 Exchange 将移到 dead letter 频道。默认情况下禁用这个选项。如果使用这个选项,则必须提供 deadLetterUri 选项。

deadLetterUri

字符串

一个 Dead Letter Channel 的端点 uri,其中会移动已耗尽恢复的 Exchange。如果使用这个选项,则必须提供 最大值的Redeliveries 选项。

必须提供 repositoryName 选项。然后,必须提供 persistentFileNamelevelDBFile

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.