This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 93016a0473 Enable process-level test parallelism on integration-tests 
core; add @ResourceLock guards (TODO-231 Ph1-2)
93016a0473 is described below

commit 93016a04730b90edb4226f68705da733401f3089
Author: James Bognar <[email protected]>
AuthorDate: Mon Jul 13 17:46:16 2026 -0400

    Enable process-level test parallelism on integration-tests core; add 
@ResourceLock guards (TODO-231 Ph1-2)
    
    - Phase 1: added @ResourceLock(SYSTEM_PROPERTIES) to the 47 
system-property-mutating
      test classes. Behavior-preserving prerequisite for future in-JVM 
concurrency.
    - Phase 2: enabled Surefire forkCount=4/reuseForks on the integration-tests 
core
      execution (~20% suite wall-clock reduction, verified green over 3 
repeated full runs).
    
    Co-authored-by: Cursor <[email protected]>
---
 .../apache/juneau/commons/inject/Value_StableFolding_Test.java    | 2 ++
 .../org/apache/juneau/commons/settings/PropertySources_Test.java  | 2 ++
 .../java/org/apache/juneau/commons/settings/Settings_Test.java    | 2 ++
 .../org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java   | 2 ++
 .../org/apache/juneau/commons/svl/StableValueFolding_Test.java    | 2 ++
 .../test/java/org/apache/juneau/commons/svl/VarFunction_Test.java | 2 ++
 .../org/apache/juneau/commons/svl/vars/PropertyVars_Test.java     | 2 ++
 .../apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java   | 2 ++
 .../java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java | 2 ++
 .../test/java/org/apache/juneau/utils/StringVarResolver_Test.java | 2 ++
 .../src/test/java/org/apache/juneau/config/Config_Test.java       | 2 ++
 .../juneau/test/bct/BctConfiguration_ValueAdoption_Test.java      | 2 ++
 juneau-integration-tests/pom.xml                                  | 8 ++++++++
 .../juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java    | 2 ++
 .../juneau/rest/observability/RestObservabilitySvl_Test.java      | 2 ++
 .../rest/observability/TraceContextResponseProcessor_Test.java    | 2 ++
 .../apache/juneau/rest/server/RestContext_ValueAdoption_Test.java | 2 ++
 .../rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java  | 2 ++
 .../apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java | 2 ++
 .../juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java     | 2 ++
 .../server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java     | 2 ++
 .../rest/server/convention/VersionMixin_SvlPathOverride_Test.java | 2 ++
 .../rest/server/convention/VersionMixin_ValueAdoption_Test.java   | 2 ++
 .../rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java       | 2 ++
 .../juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java  | 2 ++
 .../rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java       | 2 ++
 .../rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java     | 2 ++
 .../juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java  | 2 ++
 .../juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java   | 2 ++
 .../juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java    | 2 ++
 .../rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java     | 2 ++
 .../server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java  | 2 ++
 .../view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java     | 2 ++
 .../rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java       | 2 ++
 .../server/view/mustache/MustacheMixin_SvlPathOverride_Test.java  | 2 ++
 .../view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java       | 2 ++
 .../apache/juneau/microservice/jetty/JettyMicroservice_Test.java  | 2 ++
 .../apache/juneau/microservice/Microservice_Lifecycle_Test.java   | 2 ++
 .../juneau/microservice/Microservice_ValueAdoption_Test.java      | 2 ++
 .../org/apache/juneau/http/classic/header/HeaderList_Test.java    | 2 ++
 .../java/org/apache/juneau/http/classic/part/PartList_Test.java   | 2 ++
 .../test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java   | 2 ++
 .../server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java     | 2 ++
 .../rest/server/tracing/TraceContextResponseProcessor_Test.java   | 2 ++
 .../view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java     | 2 ++
 .../rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java       | 2 ++
 .../server/view/mustache/MustacheMixin_SvlPathOverride_Test.java  | 2 ++
 .../view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java       | 2 ++
 48 files changed, 102 insertions(+)

diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
index 851b878a79..1ac6e10472 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.svl.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Phase G regression: verifies that stable-folded {@link Var}s (per RD #10) 
inside
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
  * (via {@code $S{...}}) because it's the easiest to control deterministically 
in a test —
  * env vars and manifest files are environment-dependent.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class Value_StableFolding_Test extends TestBase {
 
        public static class SysPropBean {
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
index ad564b32d0..46cad10a7a 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
@@ -27,10 +27,12 @@ import java.util.jar.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.runtime.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 @SuppressWarnings({
        "java:S5976" // Explicit per-case tests are clearer than a single 
parameterized test for these distinct property-source scenarios.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class PropertySources_Test extends TestBase {
 
        
//====================================================================================================
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
index ce89631f84..0d0e989a2f 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
@@ -28,11 +28,13 @@ import java.util.concurrent.atomic.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.function.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 @SuppressWarnings({
        "java:S4144",
        "unused" // Test beans with intentionally unused fields (e.g. 
UnsupportedType)
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class Settings_Test extends TestBase {
 
        private static final String TEST_PROP = "juneau.test.property";
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
index 5951cbf2ee..fb02677c06 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.settings.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Tests for the {@code ${xxx}} shortcut in {@link VarResolverSession}'s 
tokenizer.
@@ -30,6 +31,7 @@ import org.junit.jupiter.api.*;
  * reads from {@link Settings}). The first top-level {@code ':'} in the body 
is rewritten to
  * {@code ','} so Spring-idiom defaults {@code ${key:default}} resolve via 
{@code DefaultingVar}.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class DollarBraceShortcut_Test extends TestBase {
 
        private static final String K1 = "DollarBraceShortcut_Test.k1";
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
index 881f16a795..97e8a8e749 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
@@ -23,6 +23,7 @@ import java.util.concurrent.atomic.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.svl.vars.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Tests compile-time stable-value folding for opt-in source {@link Var}s.
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
  *     <li>Folded templates flip {@link VarTemplate#isLiteral()} to {@code 
true}.
  * </ul>
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class StableValueFolding_Test extends TestBase {
 
        /** Counter-backed Var so we can detect dispatch vs fold. */
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
index 26a3259eed..696673527f 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
@@ -22,6 +22,7 @@ import java.util.*;
 
 import org.apache.juneau.commons.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Tests the {@link VarFunction} SPI + {@link TypedFunction} reflection-based 
dispatch +
@@ -30,6 +31,7 @@ import org.junit.jupiter.api.*;
 @SuppressWarnings({
        "java:S5778"  // assertThrows lambdas with chained calls; intermediate 
invocations do not throw in practice
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class VarFunction_Test extends TestBase {
 
        /** Simple typed-function: upper-case its single string arg. */
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
index c3837dde28..8d50bad1fe 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
@@ -27,7 +27,9 @@ import org.apache.juneau.commons.runtime.*;
 import org.apache.juneau.commons.settings.*;
 import org.apache.juneau.commons.svl.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class PropertyVars_Test extends TestBase {
 
        
//====================================================================================================
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
index 22d597711f..b8a4a87df5 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
@@ -21,7 +21,9 @@ import static org.junit.jupiter.api.Assertions.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.svl.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class SystemPropertiesVarTest extends TestBase {
 
        
//====================================================================================================
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
index ec6404c513..638b588bb4 100644
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
@@ -27,7 +27,9 @@ import java.util.*;
 import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.reflect.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class ThrowableUtils_Test extends TestBase {
 
        
//====================================================================================================
diff --git 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
index 5474765447..76c3df02f1 100755
--- 
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
+++ 
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
@@ -24,7 +24,9 @@ import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.svl.*;
 import org.apache.juneau.commons.utils.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class StringVarResolver_Test extends TestBase {
 
        
//====================================================================================================
diff --git 
a/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
 
b/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
index a44bc6e5b2..53488d25bb 100644
--- 
a/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
+++ 
b/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
@@ -39,6 +39,7 @@ import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.uon.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 @SuppressWarnings({
        "rawtypes",   // Raw types used for generic testing scenarios
@@ -49,6 +50,7 @@ import org.junit.jupiter.api.*;
        "java:S5976", // Explicit per-case tests are clearer and 
self-documenting than a parameterized table; intentional.
        "resource"    // Closeable resources in tests are intentionally 
unassigned; closing is handled by test infrastructure.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class Config_Test extends TestBase {
 
        private Config.Builder cb = 
Config.create().store(MemoryStore.DEFAULT).name("Test.cfg");
diff --git 
a/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
 
b/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
index ce2eaea8b5..d8a7b35578 100644
--- 
a/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
+++ 
b/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.juneau.commons.settings.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for {@code @Value}-driven defaults on {@link 
BctConfiguration.Defaults}.
@@ -28,6 +29,7 @@ import org.junit.jupiter.api.*;
  * <p>
  * 3-test triad per migrated field per OQA #4 — system property set, unset 
(default), and {@code Settings.setGlobal}.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class BctConfiguration_ValueAdoption_Test {
 
        @AfterEach
diff --git a/juneau-integration-tests/pom.xml b/juneau-integration-tests/pom.xml
index 46cc3dcb8c..ac6a7ced6e 100644
--- a/juneau-integration-tests/pom.xml
+++ b/juneau-integration-tests/pom.xml
@@ -683,6 +683,14 @@
                                                <configuration>
                                                        
<excludedGroups>container,benchmark</excludedGroups>
                                                        
<reportsDirectory>${project.build.directory}/surefire-reports/core</reportsDirectory>
+                                                       <!--
+                                                               Process-level 
parallelism for the in-memory core bucket: each fork is a
+                                                               separate JVM, 
so per-JVM statics/system-properties/MockRestClient caches stay
+                                                               isolated 
(classes run sequentially within a fork).  Container tests keep the
+                                                               default single 
fork.
+                                                       -->
+                                                       <forkCount>4</forkCount>
+                                                       
<reuseForks>true</reuseForks>
                                                </configuration>
                                        </execution>
                                        <execution>
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
index 2fa180d48d..665ab1742b 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
@@ -40,6 +40,7 @@ import org.apache.juneau.marshall.xml.*;
 import org.apache.juneau.rest.mock.*;
 import org.apache.juneau.rest.server.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 import org.junit.jupiter.api.io.*;
 
 /**
@@ -78,6 +79,7 @@ import org.junit.jupiter.api.io.*;
 @SuppressWarnings({
        "java:S114" // Snake_case fixture interface/resource names are 
intentional test-local naming (matches RemoteProxy_FeatureParity_Test).
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RemoteProxy_NextGenParityGaps_Test {
 
        // 
=================================================================================================================
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
index 1012767282..f25df8528e 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
@@ -28,6 +28,7 @@ import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.metrics.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Tests SVL variable support in observability annotation attributes.
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
  * Note: {@code MockRestClient} caches the {@link 
org.apache.juneau.rest.server.server.RestContext} per resource class.
  * Each scenario uses a distinct static inner class so the SVL state at build 
time is deterministic.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RestObservabilitySvl_Test extends TestBase {
 
        public static final class RecordingMetricsRecorder implements 
MetricsRecorder {
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
index 041fa08f6e..99f048960f 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
@@ -34,6 +34,7 @@ import org.apache.juneau.rest.server.servlet.*;
 import org.apache.juneau.rest.server.tracing.*;
 import org.apache.juneau.rest.server.tracing.otel.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 import io.opentelemetry.api.trace.propagation.*;
 import io.opentelemetry.context.propagation.*;
@@ -52,6 +53,7 @@ import io.opentelemetry.sdk.trace.export.*;
  * {@link MockRestClient}s so the {@link OtelTracerHook} bridge captures the 
server-started span's
  * context and stashes the rendered headers for the response processor to 
write.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class TraceContextResponseProcessor_Test extends TestBase {
 
        /** W3C {@code traceparent} value format: {@code 
version-traceId-spanId-flags}. */
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
index 5e6a30eac2..3839baabd6 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
@@ -25,6 +25,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.settings.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for the {@code @Value}-driven env-default fields on {@link 
RestContext}.
@@ -36,6 +37,7 @@ import org.junit.jupiter.api.*;
  * its own DefaultConfig-driven precedence on top of these fields and is 
exercised by the existing
  * {@code RestContext}-level tests; this class scopes coverage to the {@code 
@Value} seam itself.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RestContext_ValueAdoption_Test extends TestBase {
 
        @Rest
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
index be83f3d29f..d0bfa839f1 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
@@ -19,6 +19,7 @@ package org.apache.juneau.rest.server;
 import org.apache.juneau.*;
 import org.apache.juneau.rest.mock.classic.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Phase G regression: verifies that the {@link RestOpContext#pathMatchers} 
Memoizer
@@ -32,6 +33,7 @@ import org.junit.jupiter.api.*;
  * SVL-bearing op paths still resolve correctly under the compiled-form path, 
with
  * no extra request-time cost (resolution still happens once at context-build 
time).
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RestOpContext_PathMatcher_CompiledForm_Test extends TestBase {
 
        @Rest
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
index 240b653dd4..27b2cb5e90 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
@@ -19,6 +19,7 @@ package org.apache.juneau.rest.server;
 import org.apache.juneau.*;
 import org.apache.juneau.rest.mock.classic.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates SVL substitution applied to op-level path declarations.
@@ -45,6 +46,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RestOpContext_SvlInOpPath_Test extends TestBase {
 
        
//-----------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
index 5a62a976b1..278323f16e 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
@@ -23,6 +23,7 @@ import org.apache.juneau.config.*;
 import org.apache.juneau.config.store.*;
 import org.apache.juneau.test.junit.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates SVL substitution applied per-element to {@code @Rest(paths=...)} 
annotation literals.
@@ -40,6 +41,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RestPathsRuntimeOverride_SVL_Test extends TestBase {
 
        private static Config inMemoryConfig(String name, String...kvLines) {
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
index 4a5e4c7b10..6dc5108ca6 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
@@ -22,6 +22,7 @@ import java.time.*;
 
 import org.apache.juneau.commons.settings.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for {@code @Value}-driven defaults on {@link 
JwtTokenValidator.Builder}.
@@ -29,6 +30,7 @@ import org.junit.jupiter.api.*;
  * <p>
  * 3-test triad per migrated field per OQA #4 — system property set, unset 
(default), and {@code Settings.setGlobal}.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class JwtTokenValidator_ValueAdoption_Test {
 
        private static final String TTL_KEY = "juneau.jwt.jwksCacheTtl";
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
index 50a8c8b89d..403ec954ac 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.version.path:version}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class VersionMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=VersionMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
index 992d89aab4..49361815e6 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
@@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.juneau.commons.settings.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for the {@code @Value}-driven {@code java.version} default 
on
@@ -34,6 +35,7 @@ import org.junit.jupiter.api.*;
  * is set by the JVM itself; the assertion simply verifies that the 
JVM-supplied value is what flows
  * through {@code @Value} resolution.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class VersionMixin_ValueAdoption_Test {
 
        private static final String SP = "java.version";
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
index 66cafa9928..e31a86de55 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.openapi.path:openapi}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class OpenApiMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=OpenApiMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
index 9eb66a5d1e..cd6afdedd1 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.redoc.path:redoc}} SVL override on {@link 
RedocMixin}.
@@ -31,6 +32,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RedocMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=RedocMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
index b7879b0ddc..5d1b044c16 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.swagger.path:api}} SVL override on {@link 
SwaggerMixin}.
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class SwaggerMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=SwaggerMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
index 72356af4ba..17463cc341 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.swaggerui.path:swagger}} SVL override on
@@ -32,6 +33,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class SwaggerUiMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=SwaggerUiMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
index 193ebec1c6..2e2d3a3eb8 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
@@ -26,6 +26,7 @@ import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.commons.settings.*;
 import org.apache.juneau.marshall.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for {@code @Value}-driven defaults on {@link 
CallLogger.Builder}.
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
  * <p>
  * 3-test triad per migrated field per OQA #4 — system property set, unset 
(default), and {@code Settings.setGlobal}.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class CallLogger_ValueAdoption_Test extends TestBase {
 
        private static final String SP_LOGGER = "juneau.restLogger.logger";
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
index 982e57e1d1..33fe174468 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
@@ -23,6 +23,7 @@ import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.guard.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.admin.path:admin}} SVL prefix override on
@@ -43,6 +44,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class AdminMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=AdminMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
index 6bada9af5c..5a44f06560 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.echo.path:echo}} SVL override on {@link 
EchoMixin}.
@@ -42,6 +43,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class EchoMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=EchoMixin.class, debug=@Debug("always"))
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
index 081198cdb2..05eb4bcb8d 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
@@ -22,6 +22,7 @@ import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.config.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.routeindex.path:options}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class RouteIndexMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=RouteIndexMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
index 0c67efa8f6..7aa5a6dc04 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.staticfiles.path:static}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class StaticFilesMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=StaticFilesMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
index 999eb76aac..e141cc986e 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.freemarker.path:freemarker}} SVL override on
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class FreemarkerMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=FreemarkerMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
index 0e5c7e83e1..00323f47d6 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.jsp.path:jsp}} SVL override on {@link 
JspMixin}.
@@ -36,6 +37,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class JspMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=JspMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
index 0c78ceea76..c2d74ac749 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.mustache.path:mustache}} SVL override on
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class MustacheMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=MustacheMixin.class)
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
index 8450fccd97..cbc6b5554f 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.thymeleaf.path:thymeleaf}} SVL override on
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.*;
  *
  * @since 10.0.0
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class ThymeleafMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=ThymeleafMixin.class)
diff --git 
a/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
 
b/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
index ae1aa0b671..5bd04e6f99 100644
--- 
a/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
+++ 
b/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
@@ -29,6 +29,7 @@ import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.eclipse.jetty.server.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Boot-and-shutdown smoke test for {@link JettyMicroservice}.
@@ -51,6 +52,7 @@ import org.junit.jupiter.api.*;
 @SuppressWarnings({
        "serial"  // serialVersionUID not required for test classes.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class JettyMicroservice_Test {
 
        @Rest(paths="/*")
diff --git 
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
 
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
index aa7a3a13ba..102238dd95 100644
--- 
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
+++ 
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
@@ -34,6 +34,7 @@ import org.apache.juneau.config.store.*;
 import org.apache.juneau.marshall.cp.*;
 import org.apache.juneau.microservice.console.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 import org.junit.jupiter.api.io.*;
 
 /**
@@ -65,6 +66,7 @@ import org.junit.jupiter.api.io.*;
  * are not safely reachable from a unit test without bringing down the JVM.
  */
 @org.apache.juneau.testing.JettyMicroserviceTest
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class Microservice_Lifecycle_Test extends TestBase {
 
        // 
=================================================================================================================
diff --git 
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
 
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
index 78c828a2d4..8795459911 100644
--- 
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
+++ 
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
@@ -23,6 +23,7 @@ import java.io.*;
 import org.apache.juneau.commons.settings.*;
 import org.apache.juneau.testing.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for the {@code @Value}-driven {@code juneau.workingDir} 
default on
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
  * {@code Settings.setGlobal} override.
  */
 @JettyMicroserviceTest
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class Microservice_ValueAdoption_Test {
 
        private static final String SP = "juneau.workingDir";
diff --git 
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
 
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
index 71f0705a62..95ea45af6f 100644
--- 
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
+++ 
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
@@ -29,10 +29,12 @@ import org.apache.juneau.*;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.oapi.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Tests: {@link HeaderList}, {@link HeaderListBuilder}, {@link 
BasicHeaderIterator}
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class HeaderList_Test extends TestBase {
 
        private static final Header
diff --git 
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
 
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
index e3f923e246..9a328a8df5 100644
--- 
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
+++ 
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
@@ -31,10 +31,12 @@ import org.apache.juneau.http.*;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.oapi.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Tests: {@link PartList}, {@link PartList.Builder}, {@link BasicPartIterator}
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class PartList_Test extends TestBase {
 
        private static final NameValuePair
diff --git 
a/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
 
b/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
index 31f0c0ee61..5b06c197fd 100644
--- 
a/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
+++ 
b/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
@@ -23,7 +23,9 @@ import java.util.logging.*;
 import org.apache.juneau.*;
 import org.apache.juneau.rest.mock.classic.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class MockLogger_Test extends TestBase {
 
        @Test void a01_create() {
diff --git 
a/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
 
b/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
index 4a5e4c7b10..6dc5108ca6 100644
--- 
a/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
+++ 
b/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
@@ -22,6 +22,7 @@ import java.time.*;
 
 import org.apache.juneau.commons.settings.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Acceptance tests for {@code @Value}-driven defaults on {@link 
JwtTokenValidator.Builder}.
@@ -29,6 +30,7 @@ import org.junit.jupiter.api.*;
  * <p>
  * 3-test triad per migrated field per OQA #4 — system property set, unset 
(default), and {@code Settings.setGlobal}.
  */
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class JwtTokenValidator_ValueAdoption_Test {
 
        private static final String TTL_KEY = "juneau.jwt.jwksCacheTtl";
diff --git 
a/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
 
b/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
index 403b351bf5..a4bd504e41 100644
--- 
a/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
+++ 
b/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
@@ -33,6 +33,7 @@ import org.apache.juneau.rest.server.processor.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.apache.juneau.rest.server.tracing.otel.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 import io.opentelemetry.api.trace.propagation.*;
 import io.opentelemetry.context.propagation.*;
@@ -54,6 +55,7 @@ import io.opentelemetry.sdk.trace.export.*;
 @SuppressWarnings({
        "resource" // Closeable test fixtures held in static fields; lifecycle 
managed by the test/framework, not a real leak.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class TraceContextResponseProcessor_Test extends TestBase {
 
        /** W3C {@code traceparent} value format: {@code 
version-traceId-spanId-flags}. */
diff --git 
a/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
 
b/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
index e1d8604993..b74ed03a5d 100644
--- 
a/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
+++ 
b/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.freemarker.path:freemarker}} SVL override on
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
 @SuppressWarnings({
        "resource" // Closeable test fixtures held in static fields; lifecycle 
managed by the test/framework, not a real leak.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class FreemarkerMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=FreemarkerMixin.class)
diff --git 
a/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
 
b/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
index 8bd43214c5..0d5bec3a9c 100644
--- 
a/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
+++ 
b/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.jsp.path:jsp}} SVL override on {@link 
JspMixin}.
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
 @SuppressWarnings({
        "resource" // Closeable test fixtures held in static fields; lifecycle 
managed by the test/framework, not a real leak.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class JspMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=JspMixin.class)
diff --git 
a/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
 
b/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
index 81ac60623b..d7ee240ade 100644
--- 
a/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
+++ 
b/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.mustache.path:mustache}} SVL override on
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
 @SuppressWarnings({
        "resource" // Closeable test fixtures held in static fields; lifecycle 
managed by the test/framework, not a real leak.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class MustacheMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=MustacheMixin.class)
diff --git 
a/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
 
b/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
index 37de490cbd..d6788892ac 100644
--- 
a/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
+++ 
b/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
 import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
 
 /**
  * Validates the {@code ${juneau.thymeleaf.path:thymeleaf}} SVL override on
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
 @SuppressWarnings({
        "resource" // Closeable test fixtures held in static fields; lifecycle 
managed by the test/framework, not a real leak.
 })
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
 class ThymeleafMixin_SvlPathOverride_Test extends TestBase {
 
        @Rest(mixins=ThymeleafMixin.class)

Reply via email to