diff --git a/powerjob-worker-agent/pom.xml b/powerjob-worker-agent/pom.xml
index 177a00f7..a201bf70 100644
--- a/powerjob-worker-agent/pom.xml
+++ b/powerjob-worker-agent/pom.xml
@@ -10,12 +10,12 @@
4.0.0
powerjob-worker-agent
- 3.4.0
+ 3.4.0-bugfix
jar
- 3.4.0
+ 3.4.0-bugfix
1.2.3
4.3.2
diff --git a/powerjob-worker-samples/pom.xml b/powerjob-worker-samples/pom.xml
index 44815bba..0334a92f 100644
--- a/powerjob-worker-samples/pom.xml
+++ b/powerjob-worker-samples/pom.xml
@@ -14,7 +14,7 @@
2.2.6.RELEASE
- 3.4.0
+ 3.4.0-bugfix
1.2.68
diff --git a/powerjob-worker-spring-boot-starter/pom.xml b/powerjob-worker-spring-boot-starter/pom.xml
index 45191759..9865d9d2 100644
--- a/powerjob-worker-spring-boot-starter/pom.xml
+++ b/powerjob-worker-spring-boot-starter/pom.xml
@@ -10,11 +10,11 @@
4.0.0
powerjob-worker-spring-boot-starter
- 3.4.0
+ 3.4.0-bugfix
jar
- 3.4.0
+ 3.4.0-bugfix
2.2.6.RELEASE
diff --git a/powerjob-worker/pom.xml b/powerjob-worker/pom.xml
index b320e73a..aee5b742 100644
--- a/powerjob-worker/pom.xml
+++ b/powerjob-worker/pom.xml
@@ -10,7 +10,7 @@
4.0.0
powerjob-worker
- 3.4.0
+ 3.4.0-bugfix
jar
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 e6ffe539..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,22 +25,17 @@ 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;
}
- public static List removeProcessorTracker(Long instanceId) {
+ public static synchronized List removeProcessorTracker(Long instanceId) {
List res = Lists.newLinkedList();
Map ttAddress2Pt = processorTrackerPool.remove(instanceId);