Det här projektet innehåller de exempel som används i blogginlägget:
BasicScopedValueExamplevisarrun,call,orElse,orElseThrowochisBound.NestedScopedValueExamplevisar nästlade bindningar och jämför medThreadLocal.ServiceochServiceDemovisar hurScopedValueärvs av deluppgifter iStructuredTaskScope.
Installera JDK 25 och Maven 3.9 eller senare. Kontrollera versionerna:
java --version
mvn --version
StructuredTaskScope är preview i Java 25. Därför aktiverar projektets Maven-konfiguration preview vid kompilering:
mvn compile
De första två exemplen använder bara det permanenta ScopedValue-API:t och kräver inte preview vid körning:
java -cp target/classes se.callistaenterprise.scopedvalue.BasicScopedValueExample
java -cp target/classes se.callistaenterprise.scopedvalue.NestedScopedValueExample
Exemplet med strukturerad concurrency använder preview och behöver därför flaggan även vid körning:
java --enable-preview -cp target/classes se.callistaenterprise.scopedvalue.ServiceDemo