EventStore JVM客户端开源项目FAQ
EventStore.JVM Event Store JVM Client 项目地址: https://gitcode.com/gh_mirrors/ev/EventStore.JVM
基础介绍 EventStore JVM是一个为EventStore设计的Java与Scala客户端库。EventStore是一个开源的事件存储数据库,专注于实现CQRS(命令查询责任分离)和ES(事件溯源)架构。本项目基于Scala 2.13.7及2.12.15,并兼容Akka 2.6.17。它支持EventStore版本从v5.x一直到v23.x,但需要注意的是,TCP协议的支持在EventStoreDB v24.2及以上版本不再可用,推荐使用EventStoreDB-Client-Java进行后续更新和支持。
主要编程语言:
- Scala
- Java
新手注意事项
问题1:如何正确设置开发环境?
- 解决步骤:
- 确保安装了Scala和Akka的相应版本。
- 使用
sbt(Scala Build Tool)作为构建工具。通过执行sudo apt-get install sbt或从官方网站下载安装SBT,取决于你的操作系统。 - 克隆项目到本地:
git clone https://github.com/EventStore/EventStore.JVM.git。 - 进入项目目录并运行
sbt compile以编译代码,确保无编译错误。
问题2:遇到TCP连接不支持的问题怎么办?
- 解决步骤:
- 确认EventStore服务器的版本。若使用的是v24.2或更高版本,需知TCP客户端不再被支持。
- 若你的应用依赖TCP协议,考虑迁移至最新版客户端库或调整为使用HTTP或gRPC接口。
- 对于v23.10.x以下版本,继续使用当前JVM客户端或升级客户端到最后支持TCP的对应版本。
问题3:如何开始第一个读取事件的示例?
- 解决步骤:
- 在Scala中,引入必要的依赖并通过
actorSystem创建EsConnectionFactory实例。
val connection = EsConnectionFactory.create(actorSystem) val future = connection(ReadEvent(EventStream.Id("stream-name"), EventNumber.First))- 在Java中,确保添加了正确的Maven依赖或者SBT库依赖,并按照以下方式编写代码来读取事件:
ActorSystem system = ActorSystem.create(); ConnectionActor connection = system.actorOf(ConnectionActor.props()); connection.tell(new ReadEventBuilder("stream-name").first().build(), ActorRef.noSender()); - 在Scala中,引入必要的依赖并通过
确保理解EventStore的版本兼容性和协议变更,这对于避免未来可能出现的技术难题至关重要。此外,遵循项目的文档和社区讨论是解决具体问题时的重要资源。
EventStore.JVM Event Store JVM Client 项目地址: https://gitcode.com/gh_mirrors/ev/EventStore.JVM
2615

被折叠的 条评论
为什么被折叠?



