Skip to content

Commit e2af1bb

Browse files
committed
use virtual threads by default
1 parent dc87ec4 commit e2af1bb

5 files changed

Lines changed: 19 additions & 4 deletions

File tree

examples/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build stage
2-
FROM amazoncorretto:17-alpine AS builder
2+
FROM amazoncorretto:25-alpine AS builder
33

44
# Install Maven
55
RUN apk add --no-cache maven
@@ -19,7 +19,7 @@ RUN mvn clean install -DskipTests -pl sdk,sdk-testing -am
1919
RUN mvn clean package -DskipTests -pl examples -am
2020

2121
# Runtime stage
22-
FROM public.ecr.aws/lambda/java:17
22+
FROM public.ecr.aws/lambda/java:25
2323

2424
# Copy only the built JAR from build stage
2525
COPY --from=builder /build/examples/target/*.jar ${LAMBDA_TASK_ROOT}/lib/

examples/src/main/java/software/amazon/lambda/durable/examples/ManyAsyncStepsExample.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
import java.time.Duration;
66
import java.util.ArrayList;
7+
import java.util.concurrent.Executors;
78
import java.util.concurrent.TimeUnit;
9+
import software.amazon.lambda.durable.DurableConfig;
810
import software.amazon.lambda.durable.DurableContext;
911
import software.amazon.lambda.durable.DurableFuture;
1012
import software.amazon.lambda.durable.DurableHandler;
@@ -61,4 +63,12 @@ public Output handleRequest(Input input, DurableContext context) {
6163

6264
return new Output(totalSum, executionTimeMs, replayTimeMs);
6365
}
66+
67+
public DurableConfig createConfiguration() {
68+
69+
// using a virtual thread pool
70+
return DurableConfig.builder()
71+
.withExecutorService(Executors.newVirtualThreadPerTaskExecutor())
72+
.build();
73+
}
6474
}

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
</modules>
4747

4848
<properties>
49-
<maven.compiler.source>17</maven.compiler.source>
50-
<maven.compiler.target>17</maven.compiler.target>
49+
<maven.compiler.source>25</maven.compiler.source>
50+
<maven.compiler.target>25</maven.compiler.target>
5151
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5252
<aws.sdk.version>2.42.8</aws.sdk.version>
5353
<jackson.version>2.21.1</jackson.version>

sdk/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@
7979
<plugin>
8080
<groupId>org.apache.maven.plugins</groupId>
8181
<artifactId>maven-compiler-plugin</artifactId>
82+
<configuration>
83+
<source>21</source>
84+
<target>21</target>
85+
</configuration>
8286
</plugin>
8387
<plugin>
8488
<groupId>org.apache.maven.plugins</groupId>

sdk/src/main/java/software/amazon/lambda/durable/DurableConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ private static String getProjectVersion(String versionFile) {
237237
*/
238238
private static ExecutorService createDefaultExecutor() {
239239
logger.debug("Creating default ExecutorService");
240+
// return Executors.newVirtualThreadPerTaskExecutor();
240241
return Executors.newCachedThreadPool(r -> {
241242
Thread t = new Thread(r);
242243
t.setName("durable-exec-" + t.getId());

0 commit comments

Comments
 (0)