没有合适的资源?快使用搜索试试~ 我知道了~
dutyk#akka-doc#9.LevelDB的持久化查询1
需积分: 0 0 下载量 109 浏览量
2022-07-25
14:35:09
上传
评论
收藏 7KB MD 举报
温馨提示
试读
介绍这是LevelDB实现Persistence Query API的文档。请注意,其他日志的实现可能具有不同的语义。如何获得ReadJournal通过akka
资源推荐
资源详情
资源评论
# 依赖
要使用持久性查询,必须在项目中添加以下依赖项:
```xml
2.6.8 2.13
com.typesafe.akka akka-persistence-query_${scala.binary.version} ${akka.version}
```
这还需要增加对akka-persistence模块的依赖。
# 介绍
这是LevelDB实现Persistence Query API的文档。 请注意,其他日志的实现可能具有不同的语义。
# 如何获得ReadJournal
通过akka.persistence.query.PersistenceQuery扩展获ReadJournal:
```java
LeveldbReadJournal queries =
PersistenceQuery.get(system) .getReadJournalFor(LeveldbReadJournal.class, LeveldbReadJournal.Identifier());```
# 支持的查询
## EventsByPersistenceIdQuery和CurrentEventsByPersistenceIdQuery
eventsByPersistenceId用于检索persistenceId标识的PersistentActor的事件。
```java
LeveldbReadJournal queries =
PersistenceQuery.get(system) .getReadJournalFor(LeveldbReadJournal.class, LeveldbReadJournal.Identifier());
Source source =
queries.eventsByPersistenceId("some-persistence-id", 0, Long.MAX_VALUE);```
您可以通过指定fromSequenceNr和toSequenceNr来检索所有事件的子集,或者分别使用0L和Long.MAX_VALUE来检索所有事件。请注意,每个事件的相应序号都在EventEnvelope中提供,这使得可以从稍大于给定序号的点恢复流。
返回的事件流按序列号排序,即与PersistentActor保留事件的顺序相同。对于多次执行查询,返回流元素的相同前缀(顺序相同),但有例外情况:事件被删除。
流到达当前存储事件的末尾时尚未完成,但是当新事件持续存在时,它将继续推送新事件。当到达当前存储事件的末尾时,由currentEventsByPersistenceId提供相应的查询。
一旦事件持续存在,LevelDB写日志会立即通知查询方,但是出于效率方面的考虑,查询方会分批检索事件
点击阅读更多
资源评论
伯特兰·罗卜
- 粉丝: 21
- 资源: 309
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功