Spring框架学习[Spring RMI实现远程调用](十一)

2014-11-24 03:00:32 · 作者: · 浏览: 7
okeAndCreateResult(RemoteInvocation invocation, Object targetObject) { try { Object value = invoke(invocation, targetObject); return new RemoteInvocationResult(value); } catch (Throwable ex) { return new RemoteInvocationResult(ex); } } }

RMI远程调用请求最终由DefaultRemoteInvocationExecutor处理。

8.DefaultRemoteInvocationExecutor处理RMI远程调用请求:

DefaultRemoteInvocationExecutor用于处理RMI远程调用请求,并返回处理后的结果,其源码如下:

[java] view plaincopyprint public class DefaultRemoteInvocationExecutor implements RemoteInvocationExecutor { //处理RMI远程调用请求 public Object invoke(RemoteInvocation invocation, Object targetObject) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException{ Assert.notNull(invocation, "RemoteInvocation must not be null"); Assert.notNull(targetObject, "Target object must not be null"); //调用RemoteInvocation处理RMI远程调用请求 return invocation.invoke(targetObject); } }

9.RemoteInvocation处理RMI远程调用请求:

RemoteInvocation的invoke方法处理RMI远程调用请求,并返回远程调用处理后的结果,其源码如下:

[java] view plaincopyprint public Object invoke(Object target