Today, we have released version 2.4.1 of the Axon Framework. This version includes a number of bug fixes. If you’re currently running 2.4, upgrading is recommended.

An issue around database cursors not being properly released has been resolved. In production, this could cause problems when using the JdbcEventStore in combination with connection pools. Since the connections aren’t closed, the cursors used in these connections remained open.

A few issues around the DisruptorCommandBus have been fixed. When a Command was published for which there is no registered handler, the DCB would throw a NullPointerException, instead of the required NoHandlerForCommandException. Furthermore, the DCB would occasionally throw an NPE when a command was executed by a handler that does not load an Aggregate. Lastly, the CommandHandlerIntercepts weren’t invoked for events that were registered outside of an aggregate (e.g. in the command handler itself).

This release also fixes an issue with the AsyncCluster, which would queue an event directly (allowing it to be processed immediately), while the publisher’s Unit of Work wasn’t committed yet. This could result in events being handled that were never committed (or stored in the event store).

There is also one usability improvement in this release. In the test fixtures, it is now possible that certain fields should be excluded when doing a equality check. This allows, for example, transient fields or fields that contain cached or random data to be ignored.