Given how common it will be for one bean to invoke a method on another bean, what are we supposed to DO with the RemoteExceptions that could be thrown? All I can think of to do is rethrow them as RuntimeExceptions... which the container will have to catch and rethrow as a RemoteException again! What gives?
I believe that the correct sequence of events is that a method throws "EJBException" if there are any system level (non business) problems. The appserver will then wrap this as a RemoteException.
I think the correct way to handle this is to catch your RemoteException and rethrow it as an EJBException.