Axon 1.3 released!

February 11, 2012

A new version of Axon has been released. The 1.3 version contains a few minor new features, as well as some fixed for issues found in 1.2.1.

In 1.3, you can now use the CommandTemplate to help with send-and-wait type operations. The command template hides the rather ugly Future API, making it easier for you to focus on the exception cases that really matter.

Furthermore, the test fixtures will now automatically detect any state changes that occur outside of an Aggregate’s Event Handler method. This type of mistake is generally hard to locate, and may result in very subtle and hard-to-debug issues in your application. There is nothing you need to configure. If you use the fixtures, Axon will detect those mistakes for you.

By Community Request, it is now possible to use a non-default Persistence Unit. The JpaEventStore now uses a EntityManagerProvider, which is easily customized to use a specific Persistence Unit. It also allows for an Application Managed Entity Manager, in case you don’t use an Application Container.

Check out the downloads section or update you maven poms to get started.

« To the News  

Release Notes 1.3

February 10, 2012

Changes and new features

  • Added CommandTemplate for common dispatch-and-wait style operations
  • The NoOpCallback is deprecated and will be removed in future versions
  • Added “expectNoDispatchedCommands()” in Saga test fixture
  • Given-when-then test fixture detects state changes outside of Aggregate’s Event Handler methods
  • Given-when-then test fixture support use of commands as “given” state
  • Support for environments with more than one Persistence Context, or one that is not container managed (#19)
  • AssociationValue now only supports String as value

Bug fixes

  • Removed race condition with garbage collector causing old Saga state to be produced (#30)
  • Schedule token from SimpleEventScheduler was not Serializable (#28)
  • Ignoring snapshot events when a LinkageError occurs
  • [Version 1.3.1] Fixed issue with illegal state change detection where complex aggregate structures caused stack overflow.
  • [Version 1.3.2] Fixed issue causing occasional NullPointerException on high concurrency on PessimisticLockManager.
  • [Version 1.3.3] Solved NPE issue when association property returns null value
  • [Version 1.3.3] Fixed NPE when loading inexistent aggregate in GenericJpaRepository
  • [Version 1.3.3] Fixed deadlock possibility in SagaManager
  • [Version 1.3.3] Fixed potential GC race condition issue in Saga
  • [Version 1.3.3] Fixed bug in illegal state change detection

API Changes

  • The JpaEventStore now has a required constructor parameter of type EntityManagerProvider. If you use the axon namespace in Spring, you don’t have to worry about this.
« To the Release notes