diff --git a/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/DuplicatePersonNameException.java b/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/DuplicatePersonNameException.java
index 79bd535..1eeb6be 100644
--- a/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/DuplicatePersonNameException.java
+++ b/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/DuplicatePersonNameException.java
@@ -12,7 +12,7 @@
*/
package org.fuin.cqrs4j.example.aggregates;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonId;
import org.fuin.cqrs4j.example.shared.PersonName;
diff --git a/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/Person.java b/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/Person.java
index e896997..9784e5d 100644
--- a/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/Person.java
+++ b/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/Person.java
@@ -15,7 +15,7 @@ package org.fuin.cqrs4j.example.aggregates;
import java.io.Serializable;
import java.util.Optional;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
import org.fuin.cqrs4j.example.shared.PersonId;
diff --git a/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/PersonRepository.java b/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/PersonRepository.java
index ccb708f..b8f3fe8 100644
--- a/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/PersonRepository.java
+++ b/aggregates/src/main/java/org/fuin/cqrs4j/example/aggregates/PersonRepository.java
@@ -13,7 +13,7 @@
package org.fuin.cqrs4j.example.aggregates;
import org.fuin.objects4j.common.NotThreadSafe;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonId;
import org.fuin.ddd4j.ddd.EntityType;
diff --git a/java-se-cdi/pom.xml b/java-se-cdi/pom.xml
index 99de25d..0d85137 100644
--- a/java-se-cdi/pom.xml
+++ b/java-se-cdi/pom.xml
@@ -120,13 +120,13 @@
jakarta.enterprise
jakarta.enterprise.cdi-api
- 2.0.2
+ 3.0.0
org.jboss.weld.se
weld-se-core
- 3.1.5.SP1
+ 4.0.2.Final
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/app/CmdExampleApp.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/app/CmdExampleApp.java
index 9268acc..23dd228 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/app/CmdExampleApp.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/app/CmdExampleApp.java
@@ -14,11 +14,11 @@ package org.fuin.cqrs4j.example.javasecdi.cmd.app;
import java.util.UUID;
-import javax.enterprise.context.control.ActivateRequestContext;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.se.SeContainer;
-import javax.enterprise.inject.se.SeContainerInitializer;
-import javax.inject.Inject;
+import jakarta.enterprise.context.control.ActivateRequestContext;
+import jakarta.enterprise.inject.Instance;
+import jakarta.enterprise.inject.se.SeContainer;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
+import jakarta.inject.Inject;
import org.fuin.cqrs4j.example.javasecdi.cmd.domain.Person;
import org.fuin.cqrs4j.example.javasecdi.cmd.domain.PersonRepository;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/DuplicatePersonNameException.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/DuplicatePersonNameException.java
index cf43bfb..f327a24 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/DuplicatePersonNameException.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/DuplicatePersonNameException.java
@@ -1,6 +1,6 @@
package org.fuin.cqrs4j.example.javasecdi.cmd.domain;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonId;
import org.fuin.cqrs4j.example.shared.PersonName;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/Person.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/Person.java
index df096ec..ba2824c 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/Person.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/Person.java
@@ -2,7 +2,7 @@ package org.fuin.cqrs4j.example.javasecdi.cmd.domain;
import java.io.Serializable;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
import org.fuin.cqrs4j.example.shared.PersonId;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepository.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepository.java
index 8bedd74..1e21026 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepository.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepository.java
@@ -1,7 +1,7 @@
package org.fuin.cqrs4j.example.javasecdi.cmd.domain;
import org.fuin.objects4j.common.NotThreadSafe;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonId;
import org.fuin.ddd4j.ddd.EntityType;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepositoryFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepositoryFactory.java
index 7862552..c3ec34a 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepositoryFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/cmd/domain/PersonRepositoryFactory.java
@@ -1,8 +1,8 @@
package org.fuin.cqrs4j.example.javasecdi.cmd.domain;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.inject.Produces;
import org.fuin.esc.api.EventStore;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryEntityManagerProducer.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryEntityManagerProducer.java
index b059111..e2b4a12 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryEntityManagerProducer.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryEntityManagerProducer.java
@@ -1,11 +1,11 @@
package org.fuin.cqrs4j.example.javasecdi.qry.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Disposes;
+import jakarta.enterprise.inject.Produces;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.Persistence;
import org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryExampleApp.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryExampleApp.java
index 26f9d1c..33d3dcc 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryExampleApp.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryExampleApp.java
@@ -17,8 +17,8 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
-import javax.enterprise.inject.se.SeContainer;
-import javax.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.se.SeContainer;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
import javax.inject.Inject;
import org.fuin.ext4logback.LogbackStandalone;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryProjectionAdminEventStoreFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryProjectionAdminEventStoreFactory.java
index 73948b5..a8e3f2c 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryProjectionAdminEventStoreFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryProjectionAdminEventStoreFactory.java
@@ -4,10 +4,10 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.ThreadFactory;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.inject.Disposes;
+import jakarta.enterprise.inject.Produces;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryScheduledExecutorService.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryScheduledExecutorService.java
index 32631e6..e1b4edf 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryScheduledExecutorService.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryScheduledExecutorService.java
@@ -4,8 +4,8 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.ThreadFactory;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
/**
* CDI producer that creates an {@link ScheduledExecutorService}.
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryThreadFactoryFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryThreadFactoryFactory.java
index cef80fb..12533ae 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryThreadFactoryFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryThreadFactoryFactory.java
@@ -3,8 +3,8 @@ package org.fuin.cqrs4j.example.javasecdi.qry.app;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
/**
* Creates an thread factory.
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryTimer.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryTimer.java
index 0a181da..bc0d9df 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryTimer.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/app/QryTimer.java
@@ -1,7 +1,7 @@
package org.fuin.cqrs4j.example.javasecdi.qry.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Event;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Event;
import javax.inject.Inject;
@ApplicationScoped
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/domain/QryPerson.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/domain/QryPerson.java
index bf577ae..4adf774 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/domain/QryPerson.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/domain/QryPerson.java
@@ -1,10 +1,10 @@
package org.fuin.cqrs4j.example.javasecdi.qry.domain;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/PersonCreatedEventHandler.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/PersonCreatedEventHandler.java
index ea63750..1f57419 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/PersonCreatedEventHandler.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/PersonCreatedEventHandler.java
@@ -1,6 +1,6 @@
package org.fuin.cqrs4j.example.javasecdi.qry.handler;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import org.apache.deltaspike.jpa.api.transaction.Transactional;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventChunkHandler.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventChunkHandler.java
index 81ae520..f447db6 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventChunkHandler.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventChunkHandler.java
@@ -1,6 +1,6 @@
package org.fuin.cqrs4j.example.javasecdi.qry.handler;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import org.apache.deltaspike.jpa.api.transaction.Transactional;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventDispatcherFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventDispatcherFactory.java
index 149b39e..c5869fa 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventDispatcherFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryEventDispatcherFactory.java
@@ -1,7 +1,7 @@
package org.fuin.cqrs4j.example.javasecdi.qry.handler;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
import org.fuin.cqrs4j.EventDispatcher;
import org.fuin.cqrs4j.SimpleEventDispatcher;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPosition.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPosition.java
index 5ae8fa8..3e8a856 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPosition.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPosition.java
@@ -1,10 +1,10 @@
package org.fuin.cqrs4j.example.javasecdi.qry.handler;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotNull;
import org.fuin.esc.api.SimpleStreamId;
import org.fuin.esc.api.StreamId;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPositionRepository.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPositionRepository.java
index 5ce15d2..57a1287 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPositionRepository.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryPersonProjectionPositionRepository.java
@@ -1,6 +1,6 @@
package org.fuin.cqrs4j.example.javasecdi.qry.handler;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.apache.deltaspike.data.api.AbstractEntityRepository;
import org.apache.deltaspike.data.api.Repository;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryProjector.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryProjector.java
index 3995256..f9157ed 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryProjector.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/qry/handler/QryProjector.java
@@ -8,7 +8,7 @@ import java.util.List;
import java.util.Set;
import java.util.concurrent.Semaphore;
-import javax.enterprise.event.ObservesAsync;
+import jakarta.enterprise.event.ObservesAsync;
import javax.inject.Inject;
import org.fuin.cqrs4j.EventDispatcher;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedConfig.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedConfig.java
index 1d231c6..4a32e24 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedConfig.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedConfig.java
@@ -12,7 +12,7 @@
*/
package org.fuin.cqrs4j.example.javasecdi.shared.app;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEsjcEventStoreFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEsjcEventStoreFactory.java
index f0a2a28..9d5820e 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEsjcEventStoreFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEsjcEventStoreFactory.java
@@ -14,8 +14,8 @@ package org.fuin.cqrs4j.example.javasecdi.shared.app;
import java.util.concurrent.Executors;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
import com.github.msemys.esjc.EventStore;
import com.github.msemys.esjc.EventStoreBuilder;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEventStoreFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEventStoreFactory.java
index b324c9d..b044f23 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEventStoreFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedEventStoreFactory.java
@@ -2,10 +2,10 @@ package org.fuin.cqrs4j.example.javasecdi.shared.app;
import java.nio.charset.Charset;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.Disposes;
+import jakarta.enterprise.inject.Produces;
import org.fuin.esc.api.EventStore;
import org.fuin.esc.esjc.ESJCEventStore;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedExecutorServiceFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedExecutorServiceFactory.java
index 431f881..2498621 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedExecutorServiceFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedExecutorServiceFactory.java
@@ -15,8 +15,8 @@ package org.fuin.cqrs4j.example.javasecdi.shared.app;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
/**
* Creates an executor service.
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedSerDeserializerRegistryFactory.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedSerDeserializerRegistryFactory.java
index e41db17..7824478 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedSerDeserializerRegistryFactory.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedSerDeserializerRegistryFactory.java
@@ -1,7 +1,7 @@
package org.fuin.cqrs4j.example.javasecdi.shared.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
import org.fuin.esc.spi.JsonbDeSerializer;
import org.fuin.esc.spi.SerDeserializerRegistry;
diff --git a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedUtils.java b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedUtils.java
index f76aa5c..a6ed048 100644
--- a/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedUtils.java
+++ b/java-se-cdi/src/main/java/org/fuin/cqrs4j/example/javasecdi/shared/app/SharedUtils.java
@@ -19,8 +19,6 @@ package org.fuin.cqrs4j.example.javasecdi.shared.app;
import java.nio.charset.Charset;
-import javax.json.bind.adapter.JsonbAdapter;
-
import org.eclipse.yasson.FieldAccessStrategy;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
import org.fuin.cqrs4j.example.shared.PersonId;
@@ -39,6 +37,8 @@ import org.fuin.esc.spi.SerializedDataTypeRegistry;
import org.fuin.esc.spi.SimpleSerializedDataTypeRegistry;
import org.fuin.esc.spi.SimpleSerializerDeserializerRegistry;
+import jakarta.json.bind.adapter.JsonbAdapter;
+
/**
* Utility code shared between command (write) and query (read) module.
diff --git a/pom.xml b/pom.xml
index 719be38..a0bb2c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,6 @@
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">
4.0.0
-
org.fuin.cqrs4j.example
cqrs4j-example-root
0.2.0-SNAPSHOT
@@ -15,7 +14,7 @@
true
UTF-8
UTF-8
- 0.4.0
+ 0.5.0-SNAPSHOT
@@ -33,19 +32,19 @@
org.fuin
ddd-4-java
- 0.3.0
+ 0.4.0-SNAPSHOT
org.fuin
cqrs-4-java
- 0.3.0
+ 0.4.0-SNAPSHOT
org.fuin
objects4j
- 0.7.0
+ 0.8.0-SNAPSHOT
@@ -105,7 +104,7 @@
org.apache.commons
commons-lang3
- 3.11
+ 3.12.0
@@ -117,37 +116,37 @@
jakarta.validation
jakarta.validation-api
- 2.0.2
+ 3.0.0
jakarta.json.bind
jakarta.json.bind-api
- 1.0.2
+ 2.0.0
jakarta.persistence
jakarta.persistence-api
- 2.2.3
+ 3.0.0
org.eclipse.microprofile.config
microprofile-config-api
- 1.3
+ 2.0
io.smallrye.config
smallrye-config
- 1.10.0
+ 2.4.4
jakarta.json
jakarta.json-api
- 1.1.6
+ 2.0.1
@@ -159,43 +158,43 @@
org.hsqldb
hsqldb
- 2.5.1
+ 2.6.0
junit
junit
- 4.13.1
+ 4.13.2
org.assertj
assertj-core
- 3.18.1
+ 3.20.2
org.fuin
units4j
- 0.9.0
+ 0.10.0-SNAPSHOT
nl.jqno.equalsverifier
equalsverifier
- 3.5
+ 3.7.1
commons-io
commons-io
- 2.8.0
+ 2.11.0
org.hibernate.validator
hibernate-validator
- 6.1.7.Final
+ 7.0.1.Final
@@ -207,13 +206,13 @@
org.eclipse
yasson
- 1.0.8
+ 2.0.2
jakarta.mail
jakarta.mail-api
- 1.6.4
+ 2.0.1
diff --git a/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/ConstraintViolationExceptionMapper.java b/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/ConstraintViolationExceptionMapper.java
index c715f45..5311bc8 100644
--- a/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/ConstraintViolationExceptionMapper.java
+++ b/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/ConstraintViolationExceptionMapper.java
@@ -17,8 +17,8 @@ import java.util.List;
import java.util.Set;
import org.fuin.objects4j.common.Nullable;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
diff --git a/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResource.java b/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResource.java
index b076a66..1fb933f 100644
--- a/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResource.java
+++ b/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResource.java
@@ -16,9 +16,9 @@ import java.util.Optional;
import java.util.Set;
import javax.inject.Inject;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validator;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.Validator;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
diff --git a/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/domain/PersonRepositoryFactory.java b/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/domain/PersonRepositoryFactory.java
index 028b666..9cae046 100644
--- a/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/domain/PersonRepositoryFactory.java
+++ b/quarkus/command/src/main/java/org/fuin/cqrs4j/example/quarkus/command/domain/PersonRepositoryFactory.java
@@ -12,9 +12,9 @@
*/
package org.fuin.cqrs4j.example.quarkus.command.domain;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.inject.Produces;
import org.fuin.cqrs4j.example.aggregates.PersonRepository;
import org.fuin.esc.esjc.IESJCEventStore;
diff --git a/quarkus/command/src/test/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResourceIT.java b/quarkus/command/src/test/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResourceIT.java
index 8a1e935..4deeabd 100644
--- a/quarkus/command/src/test/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResourceIT.java
+++ b/quarkus/command/src/test/java/org/fuin/cqrs4j/example/quarkus/command/api/PersonResourceIT.java
@@ -12,7 +12,7 @@ import java.util.List;
import java.util.UUID;
import javax.inject.Inject;
-import javax.json.bind.Jsonb;
+import jakarta.json.bind.Jsonb;
import org.fuin.cqrs4j.ResultType;
import org.fuin.cqrs4j.SimpleResult;
diff --git a/quarkus/pom.xml b/quarkus/pom.xml
index bda321a..855a47e 100644
--- a/quarkus/pom.xml
+++ b/quarkus/pom.xml
@@ -16,7 +16,7 @@
pom
- 1.10.5.Final
+ 2.1.3.Final
5.0.9
@@ -35,7 +35,7 @@
jakarta.enterprise
jakarta.enterprise.cdi-api
- 2.0.2
+ 3.0.0
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResource.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResource.java
index 23b8c67..3ea4d1d 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResource.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResource.java
@@ -15,7 +15,7 @@ package org.fuin.cqrs4j.example.quarkus.query.api;
import java.util.List;
import javax.inject.Inject;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/app/QryScheduler.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/app/QryScheduler.java
index 257d1a8..ee92432 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/app/QryScheduler.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/app/QryScheduler.java
@@ -12,8 +12,8 @@
*/
package org.fuin.cqrs4j.example.quarkus.query.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Event;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Event;
import javax.inject.Inject;
import io.quarkus.scheduler.Scheduled;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPosition.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPosition.java
index f1e52bb..1ea1d21 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPosition.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPosition.java
@@ -12,11 +12,11 @@
*/
package org.fuin.cqrs4j.example.quarkus.query.views.common;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotNull;
import org.fuin.esc.api.SimpleStreamId;
import org.fuin.esc.api.StreamId;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPositionRepository.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPositionRepository.java
index f3cba75..5a987a0 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPositionRepository.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/common/QryProjectionPositionRepository.java
@@ -12,10 +12,10 @@
*/
package org.fuin.cqrs4j.example.quarkus.query.views.common;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.EntityManager;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.ProjectionService;
import org.fuin.esc.api.StreamId;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonCreatedEventHandler.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonCreatedEventHandler.java
index f1a7872..234453d 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonCreatedEventHandler.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonCreatedEventHandler.java
@@ -12,9 +12,9 @@
*/
package org.fuin.cqrs4j.example.quarkus.query.views.personlist;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.fuin.cqrs4j.EventHandler;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEntry.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEntry.java
index 4b5d9ec..b1ddd41 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEntry.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEntry.java
@@ -12,12 +12,12 @@
*/
package org.fuin.cqrs4j.example.quarkus.query.views.personlist;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventChunkHandler.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventChunkHandler.java
index 3e7b7fb..d773a5a 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventChunkHandler.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventChunkHandler.java
@@ -14,7 +14,7 @@ package org.fuin.cqrs4j.example.quarkus.query.views.personlist;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.transaction.Transactional;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventDispatcher.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventDispatcher.java
index 1bdaec6..fec9aa3 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventDispatcher.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListEventDispatcher.java
@@ -15,8 +15,8 @@ package org.fuin.cqrs4j.example.quarkus.query.views.personlist;
import java.util.List;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-import javax.validation.constraints.NotNull;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.EventDispatcher;
import org.fuin.cqrs4j.SimpleEventDispatcher;
diff --git a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListProjector.java b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListProjector.java
index c4804ca..ac1ca93 100644
--- a/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListProjector.java
+++ b/quarkus/query/src/main/java/org/fuin/cqrs4j/example/quarkus/query/views/personlist/PersonListProjector.java
@@ -19,8 +19,8 @@ import java.util.List;
import java.util.Set;
import java.util.concurrent.Semaphore;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.ObservesAsync;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.ObservesAsync;
import javax.inject.Inject;
import org.fuin.cqrs4j.example.quarkus.query.app.QryCheckForViewUpdatesEvent;
diff --git a/quarkus/query/src/test/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResourceIT.java b/quarkus/query/src/test/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResourceIT.java
index ec48fad..82f80d9 100644
--- a/quarkus/query/src/test/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResourceIT.java
+++ b/quarkus/query/src/test/java/org/fuin/cqrs4j/example/quarkus/query/api/QryPersonResourceIT.java
@@ -12,9 +12,9 @@ import static org.hamcrest.Matchers.not;
import java.util.Arrays;
import java.util.UUID;
-import javax.enterprise.context.control.ActivateRequestContext;
+import jakarta.enterprise.context.control.ActivateRequestContext;
import javax.inject.Inject;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.fuin.cqrs4j.example.quarkus.query.views.personlist.PersonListEntry;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
diff --git a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/Config.java b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/Config.java
index 10d70f8..d25b78c 100644
--- a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/Config.java
+++ b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/Config.java
@@ -15,7 +15,7 @@ package org.fuin.cqrs4j.example.quarkus.shared;
import java.net.MalformedURLException;
import java.net.URL;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EsjcEventStoreFactory.java b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EsjcEventStoreFactory.java
index bbba8d2..4e37d8d 100644
--- a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EsjcEventStoreFactory.java
+++ b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EsjcEventStoreFactory.java
@@ -12,8 +12,8 @@
*/
package org.fuin.cqrs4j.example.quarkus.shared;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
import org.eclipse.microprofile.context.ManagedExecutor;
diff --git a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EventStoreFactory.java b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EventStoreFactory.java
index 94e20e7..bfe4292 100644
--- a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EventStoreFactory.java
+++ b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/EventStoreFactory.java
@@ -16,11 +16,11 @@ import java.nio.charset.Charset;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.Disposes;
+import jakarta.enterprise.inject.Produces;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
diff --git a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/JsonbFactory.java b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/JsonbFactory.java
index e5d8d04..be8ef9e 100644
--- a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/JsonbFactory.java
+++ b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/JsonbFactory.java
@@ -12,11 +12,11 @@
*/
package org.fuin.cqrs4j.example.quarkus.shared;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
import org.eclipse.yasson.FieldAccessStrategy;
import org.fuin.cqrs4j.example.shared.SharedUtils;
diff --git a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/SerDeserializerRegistryFactory.java b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/SerDeserializerRegistryFactory.java
index 02fb86f..a20f909 100644
--- a/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/SerDeserializerRegistryFactory.java
+++ b/quarkus/shared/src/main/java/org/fuin/cqrs4j/example/quarkus/shared/SerDeserializerRegistryFactory.java
@@ -12,8 +12,8 @@
*/
package org.fuin.cqrs4j.example.quarkus.shared;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
import org.fuin.cqrs4j.example.shared.SharedUtils;
import org.fuin.esc.spi.JsonbDeSerializer;
diff --git a/shared/src/main/java/org/fuin/cqrs4j/example/shared/CreatePersonCommand.java b/shared/src/main/java/org/fuin/cqrs4j/example/shared/CreatePersonCommand.java
index f47bae1..212067c 100644
--- a/shared/src/main/java/org/fuin/cqrs4j/example/shared/CreatePersonCommand.java
+++ b/shared/src/main/java/org/fuin/cqrs4j/example/shared/CreatePersonCommand.java
@@ -17,8 +17,8 @@
*/
package org.fuin.cqrs4j.example.shared;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.validation.constraints.NotNull;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.AbstractAggregateCommand;
import org.fuin.ddd4j.ddd.DomainEventExpectedEntityIdPath;
diff --git a/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonCreatedEvent.java b/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonCreatedEvent.java
index a4d95a6..30811b0 100644
--- a/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonCreatedEvent.java
+++ b/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonCreatedEvent.java
@@ -18,8 +18,8 @@
package org.fuin.cqrs4j.example.shared;
import org.fuin.objects4j.common.Immutable;
-import javax.json.bind.annotation.JsonbProperty;
-import javax.validation.constraints.NotNull;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.validation.constraints.NotNull;
import org.fuin.ddd4j.ddd.AbstractDomainEvent;
import org.fuin.ddd4j.ddd.EntityIdPath;
diff --git a/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonId.java b/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonId.java
index 2c6c787..c0e8099 100644
--- a/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonId.java
+++ b/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonId.java
@@ -20,8 +20,8 @@ package org.fuin.cqrs4j.example.shared;
import java.util.UUID;
import org.fuin.objects4j.common.Immutable;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.validation.constraints.NotNull;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.validation.constraints.NotNull;
import org.fuin.ddd4j.ddd.AggregateRootUuid;
import org.fuin.ddd4j.ddd.EntityType;
diff --git a/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonName.java b/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonName.java
index 21d0480..a5a8c27 100644
--- a/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonName.java
+++ b/shared/src/main/java/org/fuin/cqrs4j/example/shared/PersonName.java
@@ -24,12 +24,12 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.fuin.objects4j.common.Immutable;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.validation.Constraint;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.Payload;
-import javax.validation.constraints.NotNull;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.validation.Constraint;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.Payload;
+import jakarta.validation.constraints.NotNull;
import org.fuin.objects4j.common.ConstraintViolationException;
import org.fuin.objects4j.ui.Label;
diff --git a/shared/src/main/java/org/fuin/cqrs4j/example/shared/SharedUtils.java b/shared/src/main/java/org/fuin/cqrs4j/example/shared/SharedUtils.java
index e981628..802b3d9 100644
--- a/shared/src/main/java/org/fuin/cqrs4j/example/shared/SharedUtils.java
+++ b/shared/src/main/java/org/fuin/cqrs4j/example/shared/SharedUtils.java
@@ -23,9 +23,6 @@ import java.nio.charset.Charset;
import java.util.Collection;
import java.util.zip.Adler32;
-import javax.json.bind.adapter.JsonbAdapter;
-import javax.json.bind.config.PropertyVisibilityStrategy;
-
import org.fuin.ddd4j.ddd.AggregateVersionConverter;
import org.fuin.ddd4j.ddd.EntityIdConverter;
import org.fuin.ddd4j.ddd.EntityIdPathConverter;
@@ -43,6 +40,9 @@ import org.fuin.esc.spi.SerializedDataTypeRegistry;
import org.fuin.esc.spi.SimpleSerializedDataTypeRegistry;
import org.fuin.esc.spi.SimpleSerializerDeserializerRegistry;
+import jakarta.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.config.PropertyVisibilityStrategy;
+
/**
* Utility code shared between command (write) and query (read) module.
*/
diff --git a/shared/src/test/java/org/fuin/cqrs4j/example/shared/CreatePersonCommandTest.java b/shared/src/test/java/org/fuin/cqrs4j/example/shared/CreatePersonCommandTest.java
index cf60db2..6f2f0a5 100644
--- a/shared/src/test/java/org/fuin/cqrs4j/example/shared/CreatePersonCommandTest.java
+++ b/shared/src/test/java/org/fuin/cqrs4j/example/shared/CreatePersonCommandTest.java
@@ -24,9 +24,9 @@ import java.nio.charset.Charset;
import java.time.ZonedDateTime;
import java.util.UUID;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
import org.apache.commons.io.IOUtils;
import org.eclipse.yasson.FieldAccessStrategy;
diff --git a/shared/src/test/java/org/fuin/cqrs4j/example/shared/PersonCreatedEventTest.java b/shared/src/test/java/org/fuin/cqrs4j/example/shared/PersonCreatedEventTest.java
index f536013..376ed93 100644
--- a/shared/src/test/java/org/fuin/cqrs4j/example/shared/PersonCreatedEventTest.java
+++ b/shared/src/test/java/org/fuin/cqrs4j/example/shared/PersonCreatedEventTest.java
@@ -25,9 +25,9 @@ import java.io.IOException;
import java.nio.charset.Charset;
import java.util.UUID;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
import org.apache.commons.io.IOUtils;
import org.eclipse.yasson.FieldAccessStrategy;
diff --git a/spring-boot/command/src/main/java/org/fuin/cqrs4j/example/spring/command/controller/PersonController.java b/spring-boot/command/src/main/java/org/fuin/cqrs4j/example/spring/command/controller/PersonController.java
index 618d51d..3f6c68a 100644
--- a/spring-boot/command/src/main/java/org/fuin/cqrs4j/example/spring/command/controller/PersonController.java
+++ b/spring-boot/command/src/main/java/org/fuin/cqrs4j/example/spring/command/controller/PersonController.java
@@ -15,9 +15,9 @@ package org.fuin.cqrs4j.example.spring.command.controller;
import java.util.Optional;
import java.util.Set;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validator;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.Validator;
import org.fuin.cqrs4j.CommandExecutionFailedException;
import org.fuin.cqrs4j.SimpleResult;
diff --git a/spring-boot/command/src/test/java/org/fuin/cqrs4j/example/spring/command/api/PersonControllerIT.java b/spring-boot/command/src/test/java/org/fuin/cqrs4j/example/spring/command/api/PersonControllerIT.java
index 285e594..fd16a9a 100644
--- a/spring-boot/command/src/test/java/org/fuin/cqrs4j/example/spring/command/api/PersonControllerIT.java
+++ b/spring-boot/command/src/test/java/org/fuin/cqrs4j/example/spring/command/api/PersonControllerIT.java
@@ -11,7 +11,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.UUID;
-import javax.json.bind.Jsonb;
+import jakarta.json.bind.Jsonb;
import org.fuin.cqrs4j.ResultType;
import org.fuin.cqrs4j.SimpleResult;
diff --git a/spring-boot/pom.xml b/spring-boot/pom.xml
index b48af95..e38a663 100644
--- a/spring-boot/pom.xml
+++ b/spring-boot/pom.xml
@@ -6,7 +6,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.2.12.RELEASE
+ 2.5.4
@@ -32,19 +32,19 @@
org.fuin
ddd-4-java
- 0.3.0
+ 0.4.0-SNAPSHOT
org.fuin
cqrs-4-java
- 0.3.0
+ 0.4.0-SNAPSHOT
org.fuin
objects4j
- 0.7.0
+ 0.8.0-SNAPSHOT
@@ -86,37 +86,37 @@
org.eclipse
yasson
- 1.0.8
+ 2.0.2
junit
junit
- 4.13.1
+ 4.13.2
org.assertj
assertj-core
- 3.18.1
+ 3.20.2
org.fuin
units4j
- 0.9.0
+ 0.10.0-SNAPSHOT
nl.jqno.equalsverifier
equalsverifier
- 3.5
+ 3.7.1
commons-io
commons-io
- 2.8.0
+ 2.11.0
diff --git a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/controller/PersonController.java b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/controller/PersonController.java
index ab5ba7c..26cf14a 100644
--- a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/controller/PersonController.java
+++ b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/controller/PersonController.java
@@ -15,7 +15,7 @@ package org.fuin.cqrs4j.example.spring.query.controller;
import java.util.List;
import java.util.UUID;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.fuin.cqrs4j.example.shared.PersonId;
import org.fuin.cqrs4j.example.spring.query.views.personlist.PersonListEntry;
diff --git a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionPosition.java b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionPosition.java
index 298e5e2..d09edd8 100644
--- a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionPosition.java
+++ b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionPosition.java
@@ -1,10 +1,10 @@
package org.fuin.cqrs4j.example.spring.query.views.common;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotNull;
import org.fuin.esc.api.SimpleStreamId;
import org.fuin.esc.api.StreamId;
diff --git a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionService.java b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionService.java
index 7fa2528..a832831 100644
--- a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionService.java
+++ b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/common/QryProjectionService.java
@@ -1,8 +1,8 @@
package org.fuin.cqrs4j.example.spring.query.views.common;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.ProjectionService;
import org.fuin.esc.api.StreamId;
diff --git a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonCreatedEventHandler.java b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonCreatedEventHandler.java
index 5c0c5fb..82b74b0 100644
--- a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonCreatedEventHandler.java
+++ b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonCreatedEventHandler.java
@@ -1,6 +1,6 @@
package org.fuin.cqrs4j.example.spring.query.views.personlist;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.fuin.cqrs4j.EventHandler;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
diff --git a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEntry.java b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEntry.java
index cc2d4be..1cb464a 100644
--- a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEntry.java
+++ b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEntry.java
@@ -12,12 +12,12 @@
*/
package org.fuin.cqrs4j.example.spring.query.views.personlist;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.example.shared.PersonId;
import org.fuin.cqrs4j.example.shared.PersonName;
diff --git a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEventDispatcher.java b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEventDispatcher.java
index 61b8965..019b246 100644
--- a/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEventDispatcher.java
+++ b/spring-boot/query/src/main/java/org/fuin/cqrs4j/example/spring/query/views/personlist/PersonListEventDispatcher.java
@@ -4,7 +4,7 @@ import java.util.List;
import java.util.Set;
import org.fuin.objects4j.common.NotThreadSafe;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.fuin.cqrs4j.EventDispatcher;
import org.fuin.cqrs4j.SimpleEventDispatcher;
diff --git a/spring-boot/query/src/test/java/org/fuin/cqrs4j/example/spring/query/api/PersonControllerIT.java b/spring-boot/query/src/test/java/org/fuin/cqrs4j/example/spring/query/api/PersonControllerIT.java
index d97d2af..5e55583 100644
--- a/spring-boot/query/src/test/java/org/fuin/cqrs4j/example/spring/query/api/PersonControllerIT.java
+++ b/spring-boot/query/src/test/java/org/fuin/cqrs4j/example/spring/query/api/PersonControllerIT.java
@@ -12,7 +12,7 @@ import static org.hamcrest.Matchers.not;
import java.util.Arrays;
import java.util.UUID;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.fuin.cqrs4j.example.shared.PersonCreatedEvent;
import org.fuin.cqrs4j.example.shared.PersonId;
diff --git a/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/BeanFactory.java b/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/BeanFactory.java
index 2c53fef..0787141 100644
--- a/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/BeanFactory.java
+++ b/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/BeanFactory.java
@@ -5,9 +5,9 @@ import java.net.URL;
import java.nio.charset.Charset;
import java.util.concurrent.Executors;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
diff --git a/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/GlobalExceptionHandler.java b/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/GlobalExceptionHandler.java
index ba826ac..a0a5a8e 100644
--- a/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/GlobalExceptionHandler.java
+++ b/spring-boot/shared/src/main/java/org/fuin/cqrs4j/example/spring/shared/GlobalExceptionHandler.java
@@ -17,8 +17,8 @@ import java.util.List;
import java.util.Set;
import org.fuin.objects4j.common.Nullable;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
import org.fuin.cqrs4j.CommandExecutionFailedException;
import org.fuin.cqrs4j.SimpleResult;