Most of the "fast data pipeline" folklore in the JVM world ends at the same place: go reactive, or go home . Netty, event loops, backpressure operators, the works. I wanted to find out whether Java 25's virtual threads let you write the boring, blocking, one-thread-per-connection version — and still move hundreds of thousands of messages a second. So I built jBMP , a collector for the BGP Monitoring Protocol , and pushed it until the database begged for mercy. This is the story of what I built,