diff --git a/pom.xml b/pom.xml
index 01f053e05..0ede7c5e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
liteflow
jar
4.0.0
- 1.2.8
+ 1.2.9
UTF-8
diff --git a/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java b/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java
index 72a3a031e..a10e217b8 100644
--- a/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java
+++ b/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java
@@ -14,6 +14,7 @@ import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -94,6 +95,10 @@ public class FlowExecutor {
throw new NoAvailableSlotException("the slot is not exist");
}
+ if(StringUtils.isBlank(slot.getRequestId())) {
+ slot.generateRequestId();
+ }
+
if(!isInnerChain) {
slot.setRequestData(param);
}else {
diff --git a/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java b/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java
index 32a695b88..cb471e792 100644
--- a/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java
+++ b/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java
@@ -36,6 +36,8 @@ public abstract class AbsSlot implements Slot{
private final String CHAIN_REQ_PREFIX = "chain_req_";
+ private final String REQUEST_ID = "req_id";
+
private Deque executeSteps = new ArrayDeque();
protected ConcurrentHashMap dataMap = new ConcurrentHashMap();
@@ -117,4 +119,14 @@ public abstract class AbsSlot implements Slot{
}
LOG.info(str.toString());
}
+
+ @Override
+ public void generateRequestId() {
+ dataMap.put(REQUEST_ID, System.nanoTime());
+ }
+
+ @Override
+ public String getRequestId() {
+ return (String)dataMap.get(REQUEST_ID);
+ }
}
diff --git a/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java b/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java
index 3e0d706f8..a7163e9a2 100644
--- a/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java
+++ b/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java
@@ -41,4 +41,8 @@ public interface Slot {
public void addStep(CmpStep step);
public void printStep();
+
+ public void generateRequestId();
+
+ public String getRequestId();
}