diff --git a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/processor/ProcessorTrackerPool.java b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/processor/ProcessorTrackerPool.java index bdcd1da6..474d2232 100644 --- a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/processor/ProcessorTrackerPool.java +++ b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/processor/ProcessorTrackerPool.java @@ -25,17 +25,12 @@ public class ProcessorTrackerPool { /** * 获取 ProcessorTracker,如果不存在则创建 */ - public static ProcessorTracker getProcessorTracker(Long instanceId, String address, Supplier creator) { + public static synchronized ProcessorTracker getProcessorTracker(Long instanceId, String address, Supplier creator) { ProcessorTracker processorTracker = processorTrackerPool.getOrDefault(instanceId, Collections.emptyMap()).get(address); if (processorTracker == null) { - synchronized (ProcessorTrackerPool.class) { - processorTracker = processorTrackerPool.getOrDefault(instanceId, Collections.emptyMap()).get(address); - if (processorTracker == null) { - processorTracker = creator.get(); - processorTrackerPool.computeIfAbsent(instanceId, ignore -> Maps.newHashMap()).put(address, processorTracker); - } - } + processorTracker = creator.get(); + processorTrackerPool.computeIfAbsent(instanceId, ignore -> Maps.newHashMap()).put(address, processorTracker); } return processorTracker; }