Introduce a FindAllOrderedProductsQuery query message, which is
published on the QueryGateway through the OrderRestEndpoint and handled
by the OrderedProductsEventHandler
Change the domain from 'Messages' to 'Order' as that domain is better
suited for an example project like this. The Query Model would be better
suited to revolve around the OrderedProducts rather than just printing
out a line of text. To that end, add a OrderedProduct model with the
OrderStatus, which is updated in the (renamed)
OrderedProductsEventHandler upon all the events
Change the domain from 'Messages' to 'Order' as that domain is better
suited for an example project like this. Update the endpoint to reflect
the order focus i.o. the message focus. Additionally, add a POST
endpoint which would return an exception due to the state check in the
aggregate
Change the domain from 'Messages' to 'Order' as that domain is better
suited for an example project like this. To that end the
MessagesAggregate should be replaced by an OrderAggregate. Additionally,
add some decision making logic which denies the shipping of an order if
it hasn't been confirmed yet. Adjust and update thee unit test
accordingly
Change the domain from 'Messages' to 'Order' as that domain is better
suited for an example project like this. First, update the commands and
events, adding an extra command/event to flesh out the domain some what
Add JPA and H2 dependencies to allow event sourcing, as for event
sourcing and EventStore is mandatory, and to make an EventStore a
database needs to be present for Axon's auto-configuration
-Add spring-boot-starter-web to support rest endpoints
-Add a rest endpoint to spoof some form of UI to publish a message, as
the old main will no longer publish the commands upon start up
-Change TargetAggregateIdentifier import statement to the new location
-Add equals/hashcode as best practice for commands and events
-Add description
-Change parent to parent-boot-2 to leverage a spring boot start up
approach
-Replace old import statements for the new locations
-Mark the aggregate as @Aggregate to make it autowired through the
spring boot starter
-Move all command handlers/decision making functions to the top of the
file
-Rename the command handler to `handle` as a best practice for command
handlers
-Use @EventSourcingHandler i.o. @EventHandler as a best practice for
event handlers in Aggregates, as those only are used to 'source' the
aggregate
-Update test case according to latest standards
-Add description
-Change parent to parent-boot-2 to leverage a spring boot start up
approach
-Replace core dependency for axon-spring-boot-autoconfigure excluding
axon-server as we cant start that up for this use case
-Add spring-boot-autoconfigure dependency
-Adjust the axon version to 4.0.3