Separate write/read DataSources, a JPA command side, and two interchangeable projection listeners (sync and @Async) demonstrating the real latency-versus- freshness trade-off CQRS forces. Includes a reflection-based proof that the query side has no dependency on the write side, and a real failure/fix transcript for the -parameters compiler flag this standalone reactor doesn't inherit from spring-boot-starter-parent.
34 lines
1.3 KiB
XML
34 lines
1.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>com.ankurm</groupId>
|
|
<artifactId>spring-modulith-demo</artifactId>
|
|
<version>1.0.0</version>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>spring-modulith-demo</name>
|
|
<description>
|
|
Companion repository for the ankurm.com Spring Modulith series.
|
|
Each Maven module backs one post; modules are added over time, one commit each.
|
|
- order-fulfillment : Spring Modulith 2.1: Enforcing Module Boundaries Inside a Spring Boot Monolith
|
|
- outbox : Transactional Outbox with the Spring Modulith Event Publication Registry
|
|
- cqrs : CQRS in Spring Boot Without a Framework: Separate Read Models and Projections
|
|
</description>
|
|
|
|
<properties>
|
|
<maven.compiler.release>25</maven.compiler.release>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<spring-boot.version>4.1.1</spring-boot.version>
|
|
<spring-modulith.version>2.1.1</spring-modulith.version>
|
|
</properties>
|
|
|
|
<modules>
|
|
<module>order-fulfillment</module>
|
|
<module>outbox</module>
|
|
<module>cqrs</module>
|
|
</modules>
|
|
</project>
|