refactor(action): replace HashMap with ConcurrentHashMap for thread-safe MetaAction storage

This commit is contained in:
2025-12-19 23:30:27 +08:00
parent 1f5509c17d
commit 9762739138
7 changed files with 16 additions and 14 deletions

View File

@@ -7,8 +7,7 @@ import work.slhaf.partner.core.action.runner.LocalRunnerClient;
import work.slhaf.partner.core.action.runner.RunnerClient;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -39,7 +38,7 @@ public class SystemTest {
@Test
void localRunnerClientTest() {
Map<String, MetaActionInfo> existedMetaActions = new HashMap<>();
ConcurrentHashMap<String, MetaActionInfo> existedMetaActions = new ConcurrentHashMap<>();
ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
RunnerClient client = new LocalRunnerClient(existedMetaActions, executor, null);
JSONObject res = client.listSysDependencies();

View File

@@ -7,6 +7,7 @@ import work.slhaf.partner.core.action.entity.MetaAction;
import work.slhaf.partner.core.action.entity.MetaActionType;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
public class LocalRunnerClientTest {
@@ -15,7 +16,7 @@ public class LocalRunnerClientTest {
@BeforeAll
static void beforeAll() {
runnerClient = new LocalRunnerClient(Map.of(), Executors.newVirtualThreadPerTaskExecutor(), "/home/slhaf/Projects/IdeaProjects/Projects/Partner/Partner-Main/src/test/java/resources/action/data");
runnerClient = new LocalRunnerClient(new ConcurrentHashMap<>(), Executors.newVirtualThreadPerTaskExecutor(), "/home/slhaf/Projects/IdeaProjects/Projects/Partner/Partner-Main/src/test/java/resources/action/data");
}
@Test

View File

@@ -15,6 +15,7 @@ import work.slhaf.partner.core.action.entity.MetaActionInfo;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
public class RunnerClientTest {
@@ -92,7 +93,7 @@ public class RunnerClientTest {
private static class TestRunnerClient extends RunnerClient {
public TestRunnerClient() {
super(Map.of(), Executors.newVirtualThreadPerTaskExecutor());
super(new ConcurrentHashMap<>(), Executors.newVirtualThreadPerTaskExecutor());
}
@Override