dynamic-tp/.github
yanhom ee8e4c87ba feat(virtual-thread): complete virtual thread executor support on Spring Boot 4
Virtual thread executor:
- fix the virtual ThreadFactory reflection: resolve Thread.Builder methods on the
  public java.lang.Thread$Builder interface (same approach as Tomcat Jre21Compat),
  so running does not require --add-opens java.base/java.lang=ALL-UNNAMED
- close the aware chain when the delegate rejects a task, otherwise the performance
  stopwatch entry leaks, the queue-timeout timer fires a false alarm and the
  rejection is never counted
- notify the aware chain on shutdown / shutdownNow / terminated (terminated once)
- track taskCount / completedTaskCount / activeCount / largestPoolSize in the proxy,
  the JDK thread-per-task executor exposes no counters and its threadCount() is not
  reachable without opening java.util.concurrent
- do not arm the queue-timeout timer (there is no queue) and report queueType as
  NoQueue(VirtualThread) instead of the internal UnsupportedBlockingQueue name
- flag virtual pools in ThreadPoolStats and skip the meaningless sizing / queue
  gauges in the micrometer collector
- sync refreshed metadata back to the proxy bean on config change
- ExecutorWrapper: also accept a VirtualThreadExecutorProxy held as Executor

Spring integration:
- SimpleAsyncTaskExecutorAdapter: never close the container-owned executor (dtp
  stops first at Integer.MAX_VALUE phase) and signal rejection with
  RejectedExecutionException as the ExecutorService contract requires
- DtpPostProcessor: detect virtual threads on the instance itself, keep the user's
  TaskDecorator when Spring internals cannot be read, validate the bean factory type
- DtpBeanDefinitionRegistrar: fail fast when virtual executors are configured on JDK < 21
- BeanRegistrationUtil: guard the ListableBeanFactory cast, warn on bean definition
  override, tolerate null constructor args
- split the webserver adapter auto-configuration per server and drop the now unused
  ConditionalOn{Jetty,Tomcat}WebServer conditions, superseded by @ConditionalOnClass

Build:
- add the maven wrapper
- bump maven-checkstyle-plugin to 3.3.0 (checkstyle 9.3) so Java 17 syntax such as
  instanceof pattern matching can be parsed
2026-07-31 18:34:52 +08:00
..
ISSUE_TEMPLATE feat(template): Add bug report, function request and question inquiry template 2026-06-24 17:08:33 +08:00
checkstyle Merge master into springboot3 2026-06-17 11:14:26 +08:00
workflows feat(virtual-thread): complete virtual thread executor support on Spring Boot 4 2026-07-31 18:34:52 +08:00