Wanted to share what I've been working on for the past few months. Today I've released Eventsourcing for Java 0.4.0. It's a set of libraries to build applications while embracing the inevitability of changes and the unknowns by deferring domain model decisions for as long as possible. By collecting and indexing every command and event we can look at the information at different angles at any point in time. This is a slight departure from the "classic" event sourcing paradigm, but not as much as you'd think — we're just doing late domain binding instead of the eager one and seeing events as data structures first (as opposed to messages).
HackerIntro