Commits
Tarun Sukhani authored 39ce352fbfe
fix(invoker,jobs,mail): make virtual-thread execution unconditional Step 1/5 toward VT-only. Drops the if (VirtualThreadConfig.is*Enabled()) branches in Invoker.init / Invoker.ensureExecutor / JobsPlugin.onApplicationStart / Mail.getExecutor. Each subsystem now constructs a VirtualThreadScheduledExecutor (or VT-named ExecutorService for Mail) unconditionally. Operator note: the play.threads.virtual* configuration keys still exist as this commit just collapses the runtime branches; the keys become no-ops. A startup WARN that flags any leftover legacy values follows in commit 4. The deprecated mirror fields (Invoker.executor, Invoker.virtualExecutor, Invoker.usingVirtualThreads, JobsPlugin equivalents) stay populated for one transition step so binary-compatible plugins still see something non-null. They go in commit 4. Test fixups in this commit (kept atomic per commit so bisects stay green): - InvokerVirtualThreadTest: collapse the four init-mode tests into one that asserts VT is selected unconditionally. Drops platform-mode assertions. - VirtualThreadIntegrationTest: drop the platformThreadModeStillWorks test. - JobsPluginVirtualThreadTest: collapse two init-mode tests into one unconditional-VT assertion. ant test passes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>