13f991aon maven central. And yes, I would like it to bake a little more. I have a couple of ideas. Mostly naming things and simplifying signatures.
signals? Also, what kind of snapshotting control would you like to have?
n <= v- ignore event as it is probably a duplicate
n == v + 1- apply event to state and save it, incrementing version
n > v + 1- terminate stream and report error, as you have missing events (should not happen normally)
POST/transaction and then very quickly (maybe instantly)
GET/transactions, technically my
POSTdoesn't create the read side (the distributed processing system does) so typically how do you handle that, is it just accepting the eventual consistency from an API standpoint?
DistributedProcessingshould be used to distribute you processes across the cluster.
Schedulein general, i.e if it's not a part of your domain, an anti-pattern, it is here for the sake of backwards compatibility, because we use it in our projects at work. What I would suggest for a greenfield project is to use a view side of an aggregate to perform planned actions, e.g. periodically query all subscription where nextBillingDate < now, and invoice them, instead of adding an entry to schedule and react when it fires.