-
1. Re: NoSuchObjectException on Server Restart
ron_sigal Apr 26, 2008 2:10 AM (in response to jcreynol)Hi John,
You're right that RMIClientInvoker doesn't try to reload the server stub in the event of an invocation error. More generally, Remoting clients don't promise to seek out a new server if an old one dies, although the socket transport is more likely to find a new server since it will attempt to create new connections when old ones become unusable.
So, one strategy would be to try the socket transport, which is the usual choice anyway.
Otherwise, a higher layer would need to recreate the Remoting client. Whether that's possible depends, of course, on what is running on top of Remoting and what kind of access you have. The usual structure in JBoss software, e.g., JBossMessaging and EJB3 clients, is to create a stack of interceptors, to which you can add your own. See, for example, org.jboss.aspects.remoting.InvokeRemoteInterceptor.