bug #I59WNN 私有投递在多并发的情况下,是否有并发问题?

经查实,是测试用例的代码问题,已修复
This commit is contained in:
bryan31
2022-06-05 15:39:01 +08:00
parent e007849a62
commit 84ce849a61
12 changed files with 24 additions and 12 deletions

View File

@@ -1,5 +1,6 @@
package com.yomahub.liteflow.test.privateDelivery;
import cn.hutool.core.collection.ConcurrentHashSet;
import com.yomahub.liteflow.core.FlowExecutor;
import com.yomahub.liteflow.flow.LiteflowResponse;
import com.yomahub.liteflow.slot.DefaultContext;
@@ -28,7 +29,7 @@ public class PrivateDeliverySpringTest extends BaseTest {
@Test
public void testPrivateDelivery() throws Exception{
LiteflowResponse<DefaultContext> response = flowExecutor.execute2Resp("chain1", "arg");
Set<Integer> set = response.getContextBean().getData("testSet");
ConcurrentHashSet<Integer> set = response.getContextBean().getData("testSet");
Assert.assertTrue(response.isSuccess());
Assert.assertEquals(100, set.size());
}

View File

@@ -7,6 +7,7 @@
*/
package com.yomahub.liteflow.test.privateDelivery.cmp;
import cn.hutool.core.collection.ConcurrentHashSet;
import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.core.NodeComponent;
import com.yomahub.liteflow.slot.DefaultContext;
@@ -21,7 +22,7 @@ public class ACmp extends NodeComponent {
public void process() {
System.out.println("ACmp executed!");
DefaultContext context = this.getContextBean();
context.setData("testSet", new HashSet<>());
context.setData("testSet", new ConcurrentHashSet<>());
for (int i = 0; i < 100; i++) {
this.sendPrivateDeliveryData("b",i+1);

View File

@@ -7,6 +7,7 @@
*/
package com.yomahub.liteflow.test.privateDelivery.cmp;
import cn.hutool.core.collection.ConcurrentHashSet;
import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.core.NodeComponent;
import com.yomahub.liteflow.slot.DefaultContext;
@@ -21,7 +22,7 @@ public class BCmp extends NodeComponent {
System.out.println("BCmp executed!");
DefaultContext context = this.getContextBean();
Integer value = this.getPrivateDeliveryData();
Set<Integer> testSet = context.getData("testSet");
ConcurrentHashSet<Integer> testSet = context.getData("testSet");
testSet.add(value);
}
}