Changelog - sleroy/spring-cqrs-arch GitHub Wiki

Changelog

  • Release 1.1.3: Adding support for Java Lambdas as CommandServiceSpec.
  • Release 1.0.6: Added a new feature allowing to filter (and preprocess) commands before sending them to the CommandExecutor.
  • Release 1.0.5: Fix bug in insertBefore() in the Workflow Customizer bean.
  • Release 1.0.4: Upgrade to Guava 26.0
  • Release 1.0.3: Reworked the EventBusService method for easier mocking.
  • Release 1.0.2:

Fixed bean scopes to force singleton scopes. Better exception message for failed command validation. Fixed a bug in the Guava Event bus service. Added a new interface to throw events when a command is successful or failed.

public interface EventThrower {

    /**
     * Event on failure.
     *
     * @return the event that should be thrown (null does not send event)
     */
    Object eventOnFailure(Throwable failure);

    /**
     * Event on success.
     *
     * @param result
     *            the result
     * @return the event that should be thrown (null does not send event)
     */
    Object eventOnSuccess(Object result);
}

Added a new annotation to return an event rather than a value in a CommandServiceSpec

@CommandService
@ReturnEventOnSuccess
public class NotifyCrawlStatusCommandHandler
	implements CommandServiceSpec<NotifyCrawlStatusCommand, EventCrawlStatusUpdated> {

Allow trace configuration override.

  • Release 1.0.1: Fixed a bug in the insertAfter step of a Workflow

  • Release 1.0.0 : brand new concept to execute a commmand using a so-called Workflow.

  • Release 0.8.0 : refactor the command execution listener to allow storing informations in the command runner.

  • Release 0.7.0 : Better integration with Spring Boot

  • 0.7.0 : New configuration system fully compatible with SpringBoot using the annotation @EnableCqrsModule

  • 0.6.2 : Second Refactoring adding a grace period of 30 seconds before brute-force closing.

  • 0.6.1 : Refactoring to fix a long closing issue with CQRS Command Executor

  • 0.6.0 :

  • Added Throttling on Commands if necessary using @Throttle annotation
  • Added its own ThreadPoolExecutor
  • Refactored the Command execution to use less promises (and avoid thread exhaustion on java 8)
  • 0.5.0 : Fixing important bugs

  • 0.4.2 : Fixing bug.

  • 0.4.1 : Now the Object validator is compatible with Spring custom validators.

  • 0.4.0 : Added a new method to dispatch all commands

  • 0.3.1 : Fixed exception message for constraint violations.

  • 0.3.0 : Rewrote the engine to be completely asynchronous using CompletableFuture.

  • 0.2.4 :

  • Upgrade of the Gate to specify the expected return type.
  • 0.2.3 :
  • Added unit tests for spring gate promises
  • Better logging with onFailure (added stacktraces)
  • 0.2.2 :
  • Bug fix with dependency scanning
  • Better exception management for constraint violations

www.byoskill.com [www.sylvainleroy.com](Blog sylvainleroy.com)