diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java index f75cf8b..e6fdbac 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/MapWithAIDataUtils.java @@ -231,11 +231,14 @@ public final class MapWithAIDataUtils { * @return The {@link ForkJoinPool} for MapWithAI use. */ public static ForkJoinPool getForkJoinPool() { - if (Objects.isNull(forkJoinPool) || forkJoinPool.isShutdown()) { - forkJoinPool = Utils.newForkJoinPool(MapWithAIPlugin.NAME.concat(".forkjoinpoolthreads"), - MapWithAIPlugin.NAME, Thread.NORM_PRIORITY); + if (Utils.isRunningWebStart() || System.getSecurityManager() != null) { + if (Objects.isNull(forkJoinPool) || forkJoinPool.isShutdown()) { + forkJoinPool = Utils.newForkJoinPool(MapWithAIPlugin.NAME.concat(".forkjoinpoolthreads"), + MapWithAIPlugin.NAME, Thread.NORM_PRIORITY); + } + return forkJoinPool; } - return forkJoinPool; + return ForkJoinPool.commonPool(); } /** diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/io/mapwithai/ESRISourceReader.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/io/mapwithai/ESRISourceReader.java index 1d1382d..7e70509 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/io/mapwithai/ESRISourceReader.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/io/mapwithai/ESRISourceReader.java @@ -38,6 +38,7 @@ import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryBounds; import org.openstreetmap.josm.data.preferences.LongProperty; import org.openstreetmap.josm.gui.MainApplication; import org.openstreetmap.josm.io.CachedFile; +import org.openstreetmap.josm.plugins.mapwithai.backend.MapWithAIDataUtils; import org.openstreetmap.josm.plugins.mapwithai.data.mapwithai.MapWithAICategory; import org.openstreetmap.josm.plugins.mapwithai.data.mapwithai.MapWithAIInfo; import org.openstreetmap.josm.plugins.mapwithai.data.mapwithai.MapWithAIType; @@ -103,7 +104,7 @@ public class ESRISourceReader { int next = 1; String searchUrl = startReplace.matcher(search).replaceAll(Integer.toString(next)); - final ForkJoinPool forkJoinPool = ForkJoinPool.commonPool(); + final ForkJoinPool forkJoinPool = MapWithAIDataUtils.getForkJoinPool(); ArrayList> futureList = new ArrayList<>(); while (next != -1) { final String finalUrl = url + "content/groups/" + group + searchUrl;