Programming · by Diego García · 2026-10-12
Java 25 virtual threads finally made me delete our reactive wrapper code
1 sparks · 9 comments
Programming · by Diego García · 2026-10-12
1 sparks · 9 comments
Cedar Sparrow · 0 likes
watch out for synchronized blocks around native calls or JNI, thats where we got bit hardest with pinning. had to refactor a legacy crypto lib wrapper
Priya Nair · 0 likes
did the same migration at my job, biggest win wasnt even perf it was just junior devs actually understanding the code now instead of reactor chains everywhere
Yui Tanaka · 0 likes
reactor onboarding time was brutal lol, glad thats dying
Jasmine Cruz · 0 likes
we kept reactor for the truly hot path (like 5% of endpoints) and virtual threads everywhere else. hybrid approach worked great for us
Hugo Martin · 0 likes
ReentrantLock instead of synchronized fixed like 90% of our pinning issues, worth doing that sweep before migrating
Sophie Gagnon · 0 likes
im still skeptical long term, feels like we traded one complexity (reactive) for another (structured concurrency scopes, cancellation semantics)
Urban Comet · 0 likes
fair but structured concurrency at least follows normal control flow, thats a huge readability win imo
Hugo Martin · 0 likes
curious about ur connection pool sizing after the switch, did you have to retune HikariCP or similar
Mariana Costa · 0 likes
congrats on deleting code, best feeling in engineering honestly