The Ghost of Deployment Descriptors Past
A few weeks ago I sat down to build a small clinic-appointment backend on WildFly, just to scratch an itch and relearn Jakarta EE properly. Nothing dramatic — a REST API, a booking flow, some business rules, and a small Vue 3 frontend on top so I'd have something to click through while I tested it. The kind of thing I'd normally reach for Spring Boot to knock out in an afternoon.
Except I didn't reach for Spring Boot. I reached for EJB.
And the second I typed @Stateless into an empty Java file, a very specific kind of dread crawled up my spine. Because the last time I wrote a line of EJB code with any seriousness, it was EJB 2.1, and it was not a good time.
If you never lived through that era, let me set the scene. To write what should have been a five-line "create a customer" method, you needed:






