Skip to content

feat: auto-configure virtual threads for Kinesis listener containers - #1696

Open
Theprathamshah wants to merge 1 commit into
awspring:mainfrom
Theprathamshah:feature/1693-kinesis-virtual-threads
Open

feat: auto-configure virtual threads for Kinesis listener containers#1696
Theprathamshah wants to merge 1 commit into
awspring:mainfrom
Theprathamshah:feature/1693-kinesis-virtual-threads

Conversation

@Theprathamshah

Copy link
Copy Markdown

📢 Type of change

  • Enhancement

📜 Description

This pull request adds native support for Java 21+ Virtual Threads to Kinesis and KCL message-driven channel adapters.

  • Modifies KinesisMessageDrivenChannelAdapter and KclMessageDrivenChannelAdapter to hook into the global spring.threads.virtual.enabled property.
  • If enabled, configures SimpleAsyncTaskExecutor with virtualThreads = true (wrapped using ExecutorServiceAdapter for KinesisMessageDrivenChannelAdapter to comply with lifecycle cast/shutdown contracts).

💡 Motivation and Context

Relates to #1693.
Integrates Spring Boot's global standard spring.threads.virtual.enabled toggle directly into Spring Cloud AWS Kinesis adapters, allowing users to leverage high-throughput non-blocking concurrency (Project Loom) out-of-the-box on Java 21+ stacks.

💚 How did you test it?

  1. Added new unit tests in KinesisVirtualThreadsTest verifying KinesisMessageDrivenChannelAdapter and KclMessageDrivenChannelAdapter execute processing tasks on virtual threads under active Loom configs.
  2. Verified all tests compile and pass successfully.

@github-actions github-actions Bot added the component: sqs SQS integration related issue label Aug 30, 2026
@Theprathamshah
Theprathamshah force-pushed the feature/1693-kinesis-virtual-threads branch from f90d62a to 09221bd Compare August 30, 2026 20:53
@github-actions github-actions Bot removed the component: sqs SQS integration related issue label Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant