As Lasse said, there's JRuby. Without a compiler, it is mainly used to glue together existing J2EE apps or components right now, but eventually, they'll get a compiler working and you'll be able to marshal objects in both directions.
Conversely, we've been able to integrate through messaging channels (RESTfule web services, SOAP, and STOMP for messaging). I much prefer this strategy because it implies that you have a well-factored application design in the first place, and the Ruby code could be anything, as long as it can process the messages correctly.
She still doesn't approve of my superhero lifestyle. Or this shameless plug:
Two software engineers solve most of the world's problems in one K&R sized book