From 85e6b62c7b168a7180ea6c6b8890ff5016e808e6 Mon Sep 17 00:00:00 2001 From: Emmanuel Bruno <emmanuel.bruno@univ-tln.fr> Date: Tue, 2 Mar 2021 09:16:01 +0100 Subject: [PATCH] adds thread safe id inc. --- .../fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java | 5 +++-- .../fr/univtln/bruno/samples/jaxrs/status/StatusFilter.java | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java b/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java index 01db785..424306c 100644 --- a/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java +++ b/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java @@ -18,6 +18,7 @@ import java.io.Serializable; import java.security.InvalidParameterException; import java.util.Comparator; import java.util.List; +import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -28,14 +29,14 @@ import static fr.univtln.bruno.samples.jaxrs.model.BiblioModel.Field.valueOf; @FieldDefaults(level = AccessLevel.PRIVATE) @NoArgsConstructor(staticName = "of") public class BiblioModel { - private static long lastId = 0; + private static AtomicLong lastId = new AtomicLong(0); @Delegate final MutableLongObjectMap<Auteur> auteurs = LongObjectMaps.mutable.empty(); public Auteur addAuteur(Auteur auteur) throws IllegalArgumentException { if (auteur.id != 0) throw new IllegalArgumentException(); - auteur.id = ++lastId; + auteur.id = lastId.incrementAndGet(); auteurs.put(auteur.id, auteur); return auteur; } diff --git a/src/main/java/fr/univtln/bruno/samples/jaxrs/status/StatusFilter.java b/src/main/java/fr/univtln/bruno/samples/jaxrs/status/StatusFilter.java index 1e376ee..a01e7a2 100644 --- a/src/main/java/fr/univtln/bruno/samples/jaxrs/status/StatusFilter.java +++ b/src/main/java/fr/univtln/bruno/samples/jaxrs/status/StatusFilter.java @@ -6,7 +6,6 @@ import jakarta.ws.rs.container.ContainerResponseFilter; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.ext.Provider; -import java.io.IOException; import java.lang.annotation.Annotation; @Provider -- GitLab