java / expert
Snippet
Aktivierung von Virtual Threads für skalierbares blockierendes I/O
Die Nutzung von Java 21+ Virtual Threads in Spring Boot 3.2+ ermöglicht es der Anwendung, Tausende gleichzeitiger blockierender Verbindungen ohne den Speicher-Overhead von Plattform-Threads zu verarbeiten, was reaktive Skalierbarkeit mit imperativem Code bietet.
snippet.java
1
2
3
4
5
6
7
8
9
10
11
12
13
@Configuration@ConditionalOnThreading(Threading.VIRTUAL)public class ThreadingConfig {@Beanpublic TomcatProtocolHandlerCustomizer<?> protocolHandlerCustomizer() {return protocolHandler -> {protocolHandler.setExecutor(Executors.newVirtualThreadPerTaskExecutor());};}}// application.properties// spring.threads.virtual.enabled=true
spring
Erklärung
1
Executors.newVirtualThreadPerTaskExecutor()
Erstellt einen Executor, der für jede übermittelte Aufgabe einen neuen virtuellen Thread startet.
2
protocolHandler.setExecutor(...)
Konfiguriert Tomcat so, dass virtuelle Threads zur Verarbeitung eingehender HTTP-Anfragen verwendet werden.