diff --git a/axon/pom.xml b/axon/pom.xml
index 2b9ac1fcdd..3d30cceb83 100644
--- a/axon/pom.xml
+++ b/axon/pom.xml
@@ -18,12 +18,6 @@
org.axonframework
axon-spring-boot-starter
${axon.version}
-
-
- org.axonframework
- axon-server-connector
-
-
@@ -58,7 +52,7 @@
- 4.0.3
+ 4.1.2
\ No newline at end of file
diff --git a/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java b/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java
index b37b2fdd66..4ef02e6b54 100644
--- a/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java
+++ b/axon/src/main/java/com/baeldung/axon/commandmodel/OrderAggregate.java
@@ -13,6 +13,7 @@ import com.baeldung.axon.coreapi.commands.ShipOrderCommand;
import com.baeldung.axon.coreapi.events.OrderConfirmedEvent;
import com.baeldung.axon.coreapi.events.OrderPlacedEvent;
import com.baeldung.axon.coreapi.events.OrderShippedEvent;
+import com.baeldung.axon.coreapi.exceptions.UnconfirmedOrderException;
@Aggregate
public class OrderAggregate {
@@ -34,7 +35,7 @@ public class OrderAggregate {
@CommandHandler
public void handle(ShipOrderCommand command) {
if (!orderConfirmed) {
- throw new IllegalStateException("Cannot ship an order which has not been confirmed yet.");
+ throw new UnconfirmedOrderException();
}
apply(new OrderShippedEvent(orderId));
@@ -43,12 +44,12 @@ public class OrderAggregate {
@EventSourcingHandler
public void on(OrderPlacedEvent event) {
this.orderId = event.getOrderId();
- orderConfirmed = false;
+ this.orderConfirmed = false;
}
@EventSourcingHandler
public void on(OrderConfirmedEvent event) {
- orderConfirmed = true;
+ this.orderConfirmed = true;
}
protected OrderAggregate() {
diff --git a/axon/src/main/java/com/baeldung/axon/coreapi/exceptions/UnconfirmedOrderException.java b/axon/src/main/java/com/baeldung/axon/coreapi/exceptions/UnconfirmedOrderException.java
new file mode 100644
index 0000000000..1873bc6893
--- /dev/null
+++ b/axon/src/main/java/com/baeldung/axon/coreapi/exceptions/UnconfirmedOrderException.java
@@ -0,0 +1,8 @@
+package com.baeldung.axon.coreapi.exceptions;
+
+public class UnconfirmedOrderException extends IllegalStateException {
+
+ public UnconfirmedOrderException() {
+ super("Cannot ship an order which has not been confirmed yet.");
+ }
+}
diff --git a/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java b/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java
index d4cf3d999b..a37f0111ed 100644
--- a/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java
+++ b/axon/src/main/java/com/baeldung/axon/querymodel/OrderedProductsEventHandler.java
@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.axonframework.config.ProcessingGroup;
import org.axonframework.eventhandling.EventHandler;
import org.axonframework.queryhandling.QueryHandler;
import org.springframework.stereotype.Service;
@@ -16,6 +17,7 @@ import com.baeldung.axon.coreapi.queries.FindAllOrderedProductsQuery;
import com.baeldung.axon.coreapi.queries.OrderedProduct;
@Service
+@ProcessingGroup("ordered-products")
public class OrderedProductsEventHandler {
private final Map orderedProducts = new HashMap<>();
diff --git a/axon/src/main/resources/application.properties b/axon/src/main/resources/application.properties
new file mode 100644
index 0000000000..7c51eb8e1e
--- /dev/null
+++ b/axon/src/main/resources/application.properties
@@ -0,0 +1 @@
+spring.application.name=Order Management Service
\ No newline at end of file
diff --git a/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java b/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java
index 9beedbaa19..aaefe49fb1 100644
--- a/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java
+++ b/axon/src/test/java/com/baeldung/axon/commandmodel/OrderAggregateUnitTest.java
@@ -2,6 +2,7 @@ package com.baeldung.axon.commandmodel;
import java.util.UUID;
+import com.baeldung.axon.coreapi.exceptions.UnconfirmedOrderException;
import org.axonframework.test.aggregate.AggregateTestFixture;
import org.axonframework.test.aggregate.FixtureConfiguration;
import org.junit.*;
@@ -41,12 +42,12 @@ public class OrderAggregateUnitTest {
}
@Test
- public void givenOrderPlacedEvent_whenShipOrderCommand_thenShouldThrowIllegalStateException() {
+ public void givenOrderPlacedEvent_whenShipOrderCommand_thenShouldThrowUnconfirmedOrderException() {
String orderId = UUID.randomUUID().toString();
String product = "Deluxe Chair";
fixture.given(new OrderPlacedEvent(orderId, product))
.when(new ShipOrderCommand(orderId))
- .expectException(IllegalStateException.class);
+ .expectException(UnconfirmedOrderException.class);
}
@Test