are doomed to reinvent J2EE.
Can your framework handle two-phase transactional commits when it interfaces to other applications?
Sure. Most apps don't need that, mind you, but if there's a need then 2PC is fairly trivial to implement *where it's needed*.
How well does it support single-sign across apps deployed across different servers but behind a reverse proxy that unifies them under a single domain?
What does that even have to do with anything?
Can you cluster multiple hosting servers for your app to minimize downtime during app upgrades? Does your application sessions failover to the other members of your cluster correctly, if so?
Sure. No java needed to use a loadbalancer and build stateless and/or SOA apps.
Can you take legacy code and layer your app around it without needing to rewrite the legacy app? Can you do this even if the programming team who wrote the legacy app is no longer around?
When you discover that you are having intermittent glitches
... Put your product into a supported trace mode and get your vendor to support you
Bullshit. NewRelic works pretty fine for rails. All platforms come with debugging machinery of various kinds, many of which are heads and shoulders above what you're probably using in your java-shop.
I have yet to see a professional grade alternative to it.
Meanwhile over here in the real world, many people build apps using those "unprofessional" alternatives just fine. Sometimes very quick, too.