212.8. LevelDB
可从 Camel 2.10 开始
leveldb 是一个轻量级、可嵌入的键值数据库。它允许与 Camel 一起为各种 Camel 功能(如聚合器)提供持久性支持。
它提供的当前功能:
- LevelDBAggregationRepository
212.8.1. Using LevelDBAggregationRepository
LevelDBAggregationRepository
是一个 AggregationRepository
,可在 fly persist 中保留聚合的消息。这可确保您不会松散的消息,因为默认聚合器将仅使用内存 AggregationRepository
。
它有以下选项:
选项 | 类型 | 描述 |
---|---|---|
| 字符串 |
必需的存储库名称。允许您将共享 |
| 字符串 | 持久性存储的文件名。如果启动新文件时不存在 文件。 |
| LevelDBFile |
使用现有配置的 |
| 布尔值 | Camel 2.12: LevelDBFile 应在写入或不同步。默认为 false。通过同步写操作,确保其始终等待所有写入操作到磁盘,因此不会松散更新。有关同步与同步写入的详情,请参阅 LevelDB 文档。 |
| 布尔值 |
如果存在,get 操作是否应该返回旧的现有 Exchange。默认情况下,这个选项为 |
| 布尔值 |
是否启用恢复。此选项默认为 |
| long | 如果启用了恢复,则会每 x 一次运行后台任务来扫描失败的交换以进行恢复并重新提交。默认情况下,这个间隔为 5000 millis。 |
| int |
允许您限制恢复的交换尝试的最大重新传送尝试数。如果启用,如果所有重新传送尝试都失败,则 Exchange 将移到 dead letter 频道。默认情况下禁用这个选项。如果使用这个选项,则必须提供 |
| 字符串 |
一个 Dead Letter Channel 的端点 uri,其中会移动已耗尽恢复的 Exchange。如果使用这个选项,则必须提供 |
必须提供 repositoryName
选项。然后,必须提供 persistentFileName
或 levelDBFile
。