[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.homannsoftware:modulith-ddd >-------------------
[INFO] Building modulith-ddd 1.0.0
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- clean:3.5.0:clean (default-clean) @ modulith-ddd ---
[INFO] Deleting D:\CodexProjects\homannsoftware_com\blog\2026-10-09-spring-modulith-ddd\examples\target
[INFO] 
[INFO] --- resources:3.5.0:resources (default-resources) @ modulith-ddd ---
[INFO] Copying 1 resource from src\main\resources to target\classes
[INFO] Copying 1 resource from src\main\resources to target\classes
[INFO] 
[INFO] --- compiler:3.15.0:compile (default-compile) @ modulith-ddd ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 8 source files with javac [debug parameters release 21] to target\classes
[INFO] Die Annotationsverarbeitung ist aktiviert, da mindestens ein Prozessor im
  Classpath gefunden wurde. In einem zuk�nftigen Release von javac kann die Annotationsverarbeitung deaktiviert werden,
  es sei denn, mindestens ein Prozessor ist namentlich angegeben (-processor), oder ein Suchpfad
  ist angegeben (--processor-path, --processor-module-path), oder die Annotationsverarbeitung
  wurde explizit aktiviert (-proc:only, -proc:full).
  Verwenden Sie "-Xlint:-options", um diese Meldung zu unterdr�cken.
  Verwenden Sie "-proc:none", um die Annotationsverarbeitung zu deaktivieren.
[INFO] Extracting Javadoc into D:\CodexProjects\homannsoftware_com\blog\2026-10-09-spring-modulith-ddd\examples\.\target\generated-spring-modulith\javadoc.json.
[INFO] 
[INFO] --- resources:3.5.0:testResources (default-testResources) @ modulith-ddd ---
[INFO] skip non existing resourceDirectory D:\CodexProjects\homannsoftware_com\blog\2026-10-09-spring-modulith-ddd\examples\src\test\resources
[INFO] 
[INFO] --- compiler:3.15.0:testCompile (default-testCompile) @ modulith-ddd ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 4 source files with javac [debug parameters release 21] to target\test-classes
[INFO] Die Annotationsverarbeitung ist aktiviert, da mindestens ein Prozessor im
  Classpath gefunden wurde. In einem zuk�nftigen Release von javac kann die Annotationsverarbeitung deaktiviert werden,
  es sei denn, mindestens ein Prozessor ist namentlich angegeben (-processor), oder ein Suchpfad
  ist angegeben (--processor-path, --processor-module-path), oder die Annotationsverarbeitung
  wurde explizit aktiviert (-proc:only, -proc:full).
  Verwenden Sie "-Xlint:-options", um diese Meldung zu unterdr�cken.
  Verwenden Sie "-proc:none", um die Annotationsverarbeitung zu deaktivieren.
[INFO] 
[INFO] --- surefire:3.5.6:test (default-test) @ modulith-ddd ---
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.homannsoftware.shop.ArchitectureTest
12:39:25.081 [main] INFO com.tngtech.archunit.core.PluginLoader -- Detected Java version 21.0.11
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.987 s -- in com.homannsoftware.shop.ArchitectureTest
[INFO] Running com.homannsoftware.shop.billing.BillingModuleTest
12:39:26.683 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [com.homannsoftware.shop.billing.BillingModuleTest]: BillingModuleTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
12:39:26.761 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration com.homannsoftware.shop.ShopApplication for test class com.homannsoftware.shop.billing.BillingModuleTest
12:39:26.767 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [com.homannsoftware.shop.billing.BillingModuleTest]: BillingModuleTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
12:39:26.771 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration com.homannsoftware.shop.ShopApplication for test class com.homannsoftware.shop.billing.BillingModuleTest

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v4.1.0)

2026-10-09T12:39:27.001+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : Bootstrapping @org.springframework.modulith.test.ApplicationModuleTest for Billing in mode STANDALONE (class com.homannsoftware.shop.ShopApplication)�
2026-10-09T12:39:27.003+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : 
2026-10-09T12:39:27.007+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : # Billing
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : > Logical name: billing
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : > Base package: com.homannsoftware.shop.billing
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : > Excluded packages: none
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : > Direct module dependencies: 
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer :   - orders
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : > Spring beans:
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer :   o �.internal.InvoiceListener
2026-10-09T12:39:27.008+02:00  INFO 46696 --- [           main] ustomizerFactory$ModuleContextCustomizer : 
2026-10-09T12:39:27.021+02:00  INFO 46696 --- [           main] c.h.shop.billing.BillingModuleTest       : Starting BillingModuleTest using Java 21.0.11 with PID 46696 (started by enrico in D:\CodexProjects\homannsoftware_com\blog\2026-10-09-spring-modulith-ddd\examples)
2026-10-09T12:39:27.022+02:00  INFO 46696 --- [           main] c.h.shop.billing.BillingModuleTest       : No active profile set, falling back to 1 default profile: "default"
2026-10-09T12:39:27.334+02:00  INFO 46696 --- [           main] figurationAndEntityScanPackageCustomizer : Re-configuring auto-configuration and entity scan packages to: com.homannsoftware.shop.billing.
2026-10-09T12:39:27.762+02:00  INFO 46696 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2026-10-09T12:39:28.031+02:00  INFO 46696 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:shop user=SA
2026-10-09T12:39:28.034+02:00  INFO 46696 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2026-10-09T12:39:28.487+02:00  INFO 46696 --- [           main] o.s.s.config.TaskSchedulerRouter         : No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2026-10-09T12:39:28.493+02:00  INFO 46696 --- [           main] c.h.shop.billing.BillingModuleTest       : Started BillingModuleTest in 1.676 seconds (process running for 4.531)
Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build as described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
WARNING: A Java agent has been loaded dynamically (C:\Users\enrico\.m2\repository\net\bytebuddy\byte-buddy-agent\1.18.10\byte-buddy-agent-1.18.10.jar)
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
WARNING: Dynamic loading of agents will be disallowed by default in a future release
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.027 s -- in com.homannsoftware.shop.billing.BillingModuleTest
[INFO] Running com.homannsoftware.shop.EventIntegrationTest
2026-10-09T12:39:29.667+02:00  INFO 46696 --- [           main] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [com.homannsoftware.shop.EventIntegrationTest]: EventIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-10-09T12:39:29.675+02:00  INFO 46696 --- [           main] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration com.homannsoftware.shop.ShopApplication for test class com.homannsoftware.shop.EventIntegrationTest
2026-10-09T12:39:29.677+02:00  INFO 46696 --- [           main] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [com.homannsoftware.shop.EventIntegrationTest]: EventIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-10-09T12:39:29.678+02:00  INFO 46696 --- [           main] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration com.homannsoftware.shop.ShopApplication for test class com.homannsoftware.shop.EventIntegrationTest

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v4.1.0)

2026-10-09T12:39:29.708+02:00  INFO 46696 --- [           main] c.h.shop.EventIntegrationTest            : Starting EventIntegrationTest using Java 21.0.11 with PID 46696 (started by enrico in D:\CodexProjects\homannsoftware_com\blog\2026-10-09-spring-modulith-ddd\examples)
2026-10-09T12:39:29.708+02:00  INFO 46696 --- [           main] c.h.shop.EventIntegrationTest            : No active profile set, falling back to 1 default profile: "default"
2026-10-09T12:39:29.866+02:00  INFO 46696 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Starting...
2026-10-09T12:39:29.868+02:00  INFO 46696 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - Added connection conn10: url=jdbc:h2:mem:shop user=SA
2026-10-09T12:39:29.868+02:00  INFO 46696 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Start completed.
2026-10-09T12:39:29.955+02:00  INFO 46696 --- [           main] o.s.s.config.TaskSchedulerRouter         : No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2026-10-09T12:39:29.956+02:00  INFO 46696 --- [           main] c.h.shop.EventIntegrationTest            : Started EventIntegrationTest in 0.272 seconds (process running for 5.994)
2026-10-09T12:39:30.370+02:00  INFO 46696 --- [         task-4] r$CompletionRegisteringMethodInterceptor : Invocation of listener public void com.homannsoftware.shop.billing.internal.InvoiceListener.on(com.homannsoftware.shop.orders.events.OrderConfirmed) failed with message PreparedStatementCallback; SQL [MERGE INTO invoices (event_id, order_id, total_cents) KEY(event_id) VALUES (?, ?, ?)]; Bedingung verletzt: "SIMULATED_OUTAGE: "
Check constraint violation: "SIMULATED_OUTAGE: "; SQL statement:
MERGE INTO invoices (event_id, order_id, total_cents) KEY(event_id) VALUES (?, ?, ?) [23513-240]. Leaving event publication uncompleted.
2026-10-09T12:39:30.371+02:00 ERROR 46696 --- [         task-4] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected exception occurred invoking async method: public void com.homannsoftware.shop.billing.internal.InvoiceListener.on(com.homannsoftware.shop.orders.events.OrderConfirmed)

org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [MERGE INTO invoices (event_id, order_id, total_cents) KEY(event_id) VALUES (?, ?, ?)]; Bedingung verletzt: "SIMULATED_OUTAGE: "
Check constraint violation: "SIMULATED_OUTAGE: "; SQL statement:
MERGE INTO invoices (event_id, order_id, total_cents) KEY(event_id) VALUES (?, ?, ?) [23513-240]
	at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:106) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:102) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1549) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:689) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:966) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:987) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.core.simple.DefaultJdbcClient$DefaultStatementSpec.update(DefaultJdbcClient.java:282) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at com.homannsoftware.shop.billing.internal.InvoiceListener.on(InvoiceListener.java:14) ~[classes/:na]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-7.0.8.jar:7.0.8]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-7.0.8.jar:7.0.8]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158) ~[spring-aop-7.0.8.jar:7.0.8]
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133) ~[spring-tx-7.0.8.jar:7.0.8]
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371) ~[spring-tx-7.0.8.jar:7.0.8]
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130) ~[spring-tx-7.0.8.jar:7.0.8]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-7.0.8.jar:7.0.8]
	at org.springframework.modulith.events.support.CompletionRegisteringAdvisor$CompletionRegisteringMethodInterceptor.invoke(CompletionRegisteringAdvisor.java:174) ~[spring-modulith-events-core-2.1.1.jar:2.1.1]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-7.0.8.jar:7.0.8]
	at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:112) ~[spring-aop-7.0.8.jar:7.0.8]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Bedingung verletzt: "SIMULATED_OUTAGE: "
Check constraint violation: "SIMULATED_OUTAGE: "; SQL statement:
MERGE INTO invoices (event_id, order_id, total_cents) KEY(event_id) VALUES (?, ?, ?) [23513-240]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:520) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.message.DbException.get(DbException.java:223) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.message.DbException.get(DbException.java:199) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.constraint.ConstraintCheck.checkRow(ConstraintCheck.java:107) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.table.Table.fireConstraints(Table.java:1208) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.table.Table.fireBeforeRow(Table.java:1199) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.command.dml.Merge.merge(Merge.java:201) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.command.dml.Merge.update(Merge.java:111) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:77) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.command.CommandContainer.update(CommandContainer.java:139) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.command.Command.executeUpdate(Command.java:306) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.command.Command.executeUpdate(Command.java:250) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:213) ~[h2-2.4.240.jar:2.4.240]
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:172) ~[h2-2.4.240.jar:2.4.240]
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-7.0.2.jar:na]
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-7.0.2.jar:na]
	at org.springframework.jdbc.core.JdbcTemplate.lambda$update$0(JdbcTemplate.java:971) ~[spring-jdbc-7.0.8.jar:7.0.8]
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:670) ~[spring-jdbc-7.0.8.jar:7.0.8]
	... 20 common frames omitted

[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.986 s -- in com.homannsoftware.shop.EventIntegrationTest
[INFO] Running com.homannsoftware.shop.orders.internal.OrderTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 s -- in com.homannsoftware.shop.orders.internal.OrderTest
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  11.209 s
[INFO] Finished at: 2026-10-09T12:39:30+02:00
[INFO] ------------------------------------------------------------------------
