diff options
author | Eylon Malin <eylon.malin@intl.att.com> | 2019-12-04 12:22:20 +0200 |
---|---|---|
committer | Eylon Malin <eylon.malin@intl.att.com> | 2019-12-04 12:22:20 +0200 |
commit | da3f5a40d2b98369842c640729f14823034138af (patch) | |
tree | 30e0100f4aeb76a614934c457ee1d95a9d4e248b /vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java | |
parent | 4e2d89221395442475eb2d681dfe61a3584d2496 (diff) |
make sure request id is unique per each async job execution
Issue-ID: VID-253
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
Change-Id: I1e7e98876c6557ff18a9e1646d7b815ed9af830d
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java b/vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java index 0b277b4d2..80d8cc53c 100644 --- a/vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java +++ b/vid-app-common/src/main/java/org/onap/vid/job/impl/JobWorker.java @@ -20,23 +20,28 @@ package org.onap.vid.job.impl; +import static org.onap.vid.job.Job.JobStatus.FAILED; +import static org.onap.vid.job.Job.JobStatus.STOPPED; +import static org.onap.vid.job.command.ResourceCommandKt.ACTION_PHASE; +import static org.onap.vid.job.command.ResourceCommandKt.INTERNAL_STATE; + +import java.util.Optional; +import java.util.UUID; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; +import org.onap.logging.ref.slf4j.ONAPLogConstants; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.onap.vid.job.*; +import org.onap.vid.job.Job; +import org.onap.vid.job.JobCommand; +import org.onap.vid.job.JobException; +import org.onap.vid.job.JobsBrokerService; +import org.onap.vid.job.NextCommand; import org.onap.vid.job.command.JobCommandFactory; import org.quartz.JobExecutionContext; +import org.slf4j.MDC; import org.springframework.scheduling.quartz.QuartzJobBean; import org.springframework.stereotype.Component; -import java.util.Optional; -import java.util.UUID; - -import static org.onap.vid.job.Job.JobStatus.FAILED; -import static org.onap.vid.job.Job.JobStatus.STOPPED; -import static org.onap.vid.job.command.ResourceCommandKt.ACTION_PHASE; -import static org.onap.vid.job.command.ResourceCommandKt.INTERNAL_STATE; - @Component public class JobWorker extends QuartzJobBean { @@ -80,6 +85,8 @@ public class JobWorker extends QuartzJobBean { } protected Job executeJobAndGetNext(Job job) { + setThreadWithRandomRequestId(); + Object internalState = job.getData().get(INTERNAL_STATE); Object actionPhase = job.getData().get(ACTION_PHASE); LOGGER.debug(EELFLoggerDelegate.debugLogger, "going to execute job {} of {}: {}/{} {}/{}", @@ -96,6 +103,11 @@ public class JobWorker extends QuartzJobBean { return setNextCommandInJob(nextCommand, job); } + private void setThreadWithRandomRequestId() { + //make sure requestIds in outgoing requests are not reused + MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, UUID.randomUUID().toString()); + } + private NextCommand executeCommandAndGetNext(Job job) { NextCommand nextCommand; try { |