Bläddra i källkod

bug #I8AR0L 组件定义了重试和回滚,回滚也会被重试

everywhere.z 1 år sedan
förälder
incheckning
d30020d4ff

+ 25 - 0
liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/rollback/cmp/MCmp.java

@@ -0,0 +1,25 @@
+package com.yomahub.liteflow.test.rollback.cmp;
+
+import com.yomahub.liteflow.annotation.LiteflowRetry;
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+@Component("m")
+@LiteflowRetry(5)
+public class MCmp extends NodeComponent {
+
+    private int flag = 0;
+    @Override
+    public void process() {
+        if(flag < 2) {
+            flag ++;
+            throw new RuntimeException();
+        }
+        System.out.println("MCmp executed!");
+    }
+
+    @Override
+    public void rollback() throws Exception {
+        System.out.println("MCmp rollback!");
+    }
+}

+ 20 - 0
liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/rollback/cmp/NCmp.java

@@ -0,0 +1,20 @@
+package com.yomahub.liteflow.test.rollback.cmp;
+
+import com.yomahub.liteflow.annotation.LiteflowRetry;
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+@Component("n")
+@LiteflowRetry(3)
+public class NCmp extends NodeComponent {
+    @Override
+    public void process() {
+        System.out.println("NCmp executed!");
+        throw new RuntimeException();
+    }
+
+    @Override
+    public void rollback() throws Exception {
+        System.out.println("NCmp rollback!");
+    }
+}