From e6a9d52f88d633a0d44bbc66bb397ddbad8f04ad Mon Sep 17 00:00:00 2001 From: gmantele <gmantele@ari.uni-heidelberg.de> Date: Tue, 14 Oct 2014 12:10:30 +0200 Subject: [PATCH] [UWS] Fix synchronization bug while generating the default Job ID --- src/uws/job/UWSJob.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/uws/job/UWSJob.java b/src/uws/job/UWSJob.java index a373dba..758d46f 100644 --- a/src/uws/job/UWSJob.java +++ b/src/uws/job/UWSJob.java @@ -22,9 +22,6 @@ package uws.job; import java.io.IOException; import java.text.DateFormat; -import java.text.DecimalFormat; -import java.text.FieldPosition; -import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; @@ -122,7 +119,7 @@ import uws.service.log.UWSLog.LogLevel; * </ul> * * @author Grégory Mantelet (CDS;ARI) - * @version 4.1 (08/2014) + * @version 4.1 (10/2014) */ public class UWSJob extends SerializableUWSObject { private static final long serialVersionUID = 1L; @@ -394,13 +391,15 @@ public class UWSJob extends SerializableUWSObject { * @return A unique job identifier. */ protected String generateJobId(){ - String generatedId = System.currentTimeMillis() + "A"; - if (lastId != null){ - while(lastId.equals(generatedId)) - generatedId = generatedId.substring(0, generatedId.length() - 1) + (char)(generatedId.charAt(generatedId.length() - 1) + 1); + synchronized(lastId){ + String generatedId = System.currentTimeMillis() + "A"; + if (lastId != null){ + while(lastId.equals(generatedId)) + generatedId = generatedId.substring(0, generatedId.length() - 1) + (char)(generatedId.charAt(generatedId.length() - 1) + 1); + } + lastId = generatedId; + return generatedId; } - lastId = generatedId; - return generatedId; } /** -- GitLab