[JAVA-27819] Upgrade Axon module to the Spring Boot 3 (#15935)
This commit is contained in:
parent
13734df446
commit
d64c084623
|
@ -9,9 +9,9 @@
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.baeldung</groupId>
|
<groupId>com.baeldung</groupId>
|
||||||
<artifactId>parent-boot-2</artifactId>
|
<artifactId>parent-boot-3</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<relativePath>../../parent-boot-2</relativePath>
|
<relativePath>../../parent-boot-3</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
|
@ -74,12 +74,6 @@
|
||||||
<version>${reactor.version}</version>
|
<version>${reactor.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>de.flapdoodle.embed</groupId>
|
|
||||||
<artifactId>de.flapdoodle.embed.mongo</artifactId>
|
|
||||||
<version>${de.flapdoodle.embed.mongo.version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.awaitility</groupId>
|
<groupId>org.awaitility</groupId>
|
||||||
<artifactId>awaitility</artifactId>
|
<artifactId>awaitility</artifactId>
|
||||||
|
@ -95,6 +89,17 @@
|
||||||
<artifactId>reactor-netty-http</artifactId>
|
<artifactId>reactor-netty-http</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.testcontainers</groupId>
|
||||||
|
<artifactId>junit-jupiter</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.testcontainers</groupId>
|
||||||
|
<artifactId>mongodb</artifactId>
|
||||||
|
<version>${mongodb.testcontainer.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -114,9 +119,9 @@
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<axon-bom.version>4.6.3</axon-bom.version>
|
<axon-bom.version>4.9.3</axon-bom.version>
|
||||||
<de.flapdoodle.embed.mongo.version>3.4.8</de.flapdoodle.embed.mongo.version>
|
|
||||||
<reactor.version>3.6.0</reactor.version>
|
<reactor.version>3.6.0</reactor.version>
|
||||||
|
<mongodb.testcontainer.version>1.17.6</mongodb.testcontainer.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -18,7 +18,6 @@ import com.mongodb.client.model.IndexOptions;
|
||||||
import com.mongodb.client.model.Indexes;
|
import com.mongodb.client.model.Indexes;
|
||||||
import com.mongodb.client.result.UpdateResult;
|
import com.mongodb.client.result.UpdateResult;
|
||||||
|
|
||||||
import groovyjarjarantlr4.v4.runtime.misc.NotNull;
|
|
||||||
|
|
||||||
import org.axonframework.config.ProcessingGroup;
|
import org.axonframework.config.ProcessingGroup;
|
||||||
import org.axonframework.eventhandling.EventHandler;
|
import org.axonframework.eventhandling.EventHandler;
|
||||||
|
@ -30,6 +29,7 @@ import org.reactivestreams.Publisher;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import reactor.core.publisher.Flux;
|
import reactor.core.publisher.Flux;
|
||||||
|
@ -172,7 +172,7 @@ public class MongoOrdersEventHandler implements OrdersEventHandler {
|
||||||
.toString());
|
.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Order documentToOrder(@NotNull Document document) {
|
private Order documentToOrder(@NonNull Document document) {
|
||||||
Order order = new Order(document.getString(ORDER_ID_PROPERTY_NAME));
|
Order order = new Order(document.getString(ORDER_ID_PROPERTY_NAME));
|
||||||
Document products = document.get(PRODUCTS_PROPERTY_NAME, Document.class);
|
Document products = document.get(PRODUCTS_PROPERTY_NAME, Document.class);
|
||||||
products.forEach((k, v) -> order.getProducts()
|
products.forEach((k, v) -> order.getProducts()
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.baeldung.axon.querymodel;
|
||||||
|
|
||||||
|
import com.mongodb.client.MongoClient;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
|
||||||
|
import org.springframework.test.context.DynamicPropertyRegistry;
|
||||||
|
import org.springframework.test.context.DynamicPropertySource;
|
||||||
|
import org.testcontainers.containers.MongoDBContainer;
|
||||||
|
import org.testcontainers.junit.jupiter.Container;
|
||||||
|
|
||||||
|
@DataMongoTest
|
||||||
|
public class MongoOrdersEventHandlerLiveTest extends AbstractOrdersEventHandlerUnitTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
MongoClient mongoClient;
|
||||||
|
|
||||||
|
@Container
|
||||||
|
static MongoDBContainer mongoDBContainer = new MongoDBContainer("mongo:6.0").withExposedPorts(27017);
|
||||||
|
|
||||||
|
@DynamicPropertySource
|
||||||
|
static void mongoDbProperties(DynamicPropertyRegistry registry) {
|
||||||
|
|
||||||
|
mongoDBContainer.start();
|
||||||
|
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected OrdersEventHandler getHandler() {
|
||||||
|
mongoClient.getDatabase("axonframework")
|
||||||
|
.drop();
|
||||||
|
return new MongoOrdersEventHandler(mongoClient, emitter);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,20 +0,0 @@
|
||||||
package com.baeldung.axon.querymodel;
|
|
||||||
|
|
||||||
import com.mongodb.client.MongoClient;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
|
|
||||||
|
|
||||||
@DataMongoTest
|
|
||||||
public class MongoOrdersEventHandlerUnitTest extends AbstractOrdersEventHandlerUnitTest {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
MongoClient mongoClient;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected OrdersEventHandler getHandler() {
|
|
||||||
mongoClient.getDatabase("axonframework")
|
|
||||||
.drop();
|
|
||||||
return new MongoOrdersEventHandler(mongoClient, emitter);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue