有没有Java版本或类似的NEventStore库?

5
我已阅读Jonathan Oliver的.NET EventStore库,我必须说这个概念非常吸引我:只有一个简单的无依赖库,专注于事件源码,非侵入性,留下了很多选择数据库,消息传递等技术的自由。 我的问题是:在Java世界中是否也有类似的东西?我知道有各种CQRS相关的框架,如AxonJdon,但它们做的不仅仅是事件源码... 也许有人正在进行直接移植的工作吗?
4个回答

1

我不知道是否存在这样的插件,但与此同时,编写一个并不是太难。对我而言,编写EventStore最困难的部分就是确定正确的模型。在我的公司内部进行了两次私有/内部发布,然后进行了两次公共发布,直到我真正满意结果为止。还有一些Ruby端口和其他语言的端口,通常它们需要几个小时来编写,因为作者会复制模型。如果你采用同样的方法,我认为你也可以在几个小时内编写自己的插件。


谢谢您的回复。到目前为止,我已经找到了以下端口:nodeEventStore(JavaScript)和euston-eventstore(Ruby)。如果有人知道更多的,请告诉我,我会非常感激。 - MarnixKlooster ReinstateMonica

0

0
你可以看一下 Occurrent,它被设计成一个库来使用。这意味着你可以只使用事件存储,而不需要其他任何东西,并在需要时添加更多组件。
它还被设计成与流行的框架(如Spring Boot)很好地集成,如果你想在顶部使用框架(而不必在你的领域模型中使用特定于框架的代码)。

-1

理论上,它可以支持消息传递,但目前似乎只支持数据库。

使用JDBC并不是很麻烦,而且可以很容易地根据您的需求进行包装。如果您想要简单性,我会使用JDBC。

如果您想要支持JMS(消息传递),我会仅使用它(并使用适配服务连接到任何要使用的数据库)。这为您提供了一种简单的标准事件驱动接口,可用于所有类型的消息传递(以及连接的任何数据库)。


请问您能否解释一下这个回答如何解决我的问题?我不太明白... EventStore库只是允许将事件提交到数据存储中,并在提交时调用钩子(在该钩子中,可以在队列上发送消息),然后从数据存储中读取这些事件。我只是在寻找等效的Java代码。 - MarnixKlooster ReinstateMonica
所以你想要标准的JDBC和标准的JMS。我会将两者合并到一个简单的帮助类中,这样你只需要说insert(XXX,YYY,ZZZ),它就会将数据插入到数据库并触发具有相同细节的消息。如果你愿意的话,我可以从网上找一些例子。 ;) - Peter Lawrey
要么我完全误解了你,要么是反过来。我假设你知道 EventStore 库,或者至少了解 事件溯源 的概念(请参见“领域驱动设计”维基百科页面上的简短描述)。 - MarnixKlooster ReinstateMonica
您想要更新数据库,同时通知侦听器进行更改,以便他们可以处理事件/更新。 - Peter Lawrey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接