通过上面对RemoteInvocationBasedExporter源码分析我们看到,真正调用目标对象的是DefaultRemoteInvocationExecutor的invoke方法,下面我们继续分析DefaultRemoteInvocationExecutor调用目标对象方法的实现。
10.DefaultRemoteInvocationExecutor调用目标对象的方法实现远程调用:
DefaultRemoteInvocationExecutor用于调用目标对象的指定方法实现远程对象调用服务,其源码如下:
[java] view plaincopyprint
- public class DefaultRemoteInvocationExecutor implements RemoteInvocationExecutor { //调用目标对象的方法
- 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的invoke方法 return invocation.invoke(targetObject);
- } }
- RemoteInvocation的invoke方法源码如下: public Ob