我已阅读Jonathan Oliver的.NET EventStore库,我必须说这个概念非常吸引我:只有一个简单的无依赖库,专注于事件源码,非侵入性,留下了很多选择数据库,消息传递等技术的自由。 我的问题是:在Java世界中是否也有类似的东西?我知道有各种CQRS相关的框架,如Axon和Jdon,但它们做的不仅仅是事件源码... 也许有人正在进行直接移植的工作吗?
我不知道是否存在这样的插件,但与此同时,编写一个并不是太难。对我而言,编写EventStore最困难的部分就是确定正确的模型。在我的公司内部进行了两次私有/内部发布,然后进行了两次公共发布,直到我真正满意结果为止。还有一些Ruby端口和其他语言的端口,通常它们需要几个小时来编写,因为作者会复制模型。如果你采用同样的方法,我认为你也可以在几个小时内编写自己的插件。
我知道这个问题已经很老了,但是对于现在处于类似位置的人们:
你可以尝试Greg Young的EventStore(http://geteventstore.com)
它需要.NET或者mono来运行,但是有一个基于JVM的客户端库: https://github.com/EventStore/eventstorejvmclient
理论上,它可以支持消息传递,但目前似乎只支持数据库。
使用JDBC并不是很麻烦,而且可以很容易地根据您的需求进行包装。如果您想要简单性,我会使用JDBC。
如果您想要支持JMS(消息传递),我会仅使用它(并使用适配服务连接到任何要使用的数据库)。这为您提供了一种简单的标准事件驱动接口,可用于所有类型的消息传递(以及连接的任何数据库)。