The Spring Framework

## org.springframework.remoting.support
Class RemoteInvocationBasedAccessor

    java.lang.Object
      org.springframework.remoting.support.RemotingSupport
          org.springframework.remoting.support.RemoteAccessor
              org.springframework.remoting.support.UrlBasedRemoteAccessor
                  org.springframework.remoting.support.RemoteInvocationBasedAccessor

All Implemented Interfaces:
  BeanClassLoaderAware, InitializingBean

Direct Known Subclasses:
  HttpInvokerClientInterceptor, RmiClientInterceptor

    public abstract class RemoteInvocationBasedAccessor

extends UrlBasedRemoteAccessor

Abstract base class for remote service accessors that are based on serialization of `RemoteInvocation` objects. Provides a "remoteInvocationFactory" property, with a `DefaultRemoteInvocationFactory` as default strategy.

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  `setRemoteInvocationFactory(org.springframework.remoting.support.RemoteInvocationFactory)`, `RemoteInvocation`, `RemoteInvocationFactory`, `DefaultRemoteInvocationFactory`

Field Summary

Fields inherited from class org.springframework.remoting.support.RemotingSupport
`logger`

Constructor Summary
`RemoteInvocationBasedAccessor()`

Method Summary
`protected RemoteInvocation` `createRemoteInvocation(MethodInvocation methodInvocation)` Create a new RemoteInvocation object for the given AOP method invocation.
`RemoteInvocationFactory` `getRemoteInvocationFactory()` Return the RemoteInvocationFactory used by this accessor.
`protected Object` `recreateRemoteInvocationResult(RemoteInvocationResult result)` Recreate the invocation result contained in the given RemoteInvocationResult object.
`void` `setRemoteInvocationFactory(RemoteInvocationFactory remoteInvocationFactory)` Set the RemoteInvocationFactory to use for this accessor.

Methods inherited from class org.springframework.remoting.support.UrlBasedRemoteAccessor
`afterPropertiesSet, getServiceUrl, setServiceUrl`

Methods inherited from class org.springframework.remoting.support.RemoteAccessor
`getServiceInterface, setServiceInterface`

Methods inherited from class org.springframework.remoting.support.RemotingSupport
`getBeanClassLoader, overrideThreadContextClassLoader, resetThreadContextClassLoader, setBeanClassLoader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RemoteInvocationBasedAccessor

    public RemoteInvocationBasedAccessor()

Method Detail

### setRemoteInvocationFactory

    public void setRemoteInvocationFactory(RemoteInvocationFactory remoteInvocationFactory)

  Set the RemoteInvocationFactory to use for this accessor. Default is a `DefaultRemoteInvocationFactory`.

  A custom invocation factory can add further context information to the invocation, for example user credentials.

### getRemoteInvocationFactory

    public RemoteInvocationFactory getRemoteInvocationFactory()

  Return the RemoteInvocationFactory used by this accessor.

### createRemoteInvocation

    protected RemoteInvocation createRemoteInvocation(MethodInvocation methodInvocation)

  Create a new RemoteInvocation object for the given AOP method invocation.

  The default implementation delegates to the configured `RemoteInvocationFactory`. This can be overridden in subclasses in order to provide custom RemoteInvocation subclasses, containing additional invocation parameters (e.g. user credentials).

  Note that it is preferable to build a custom RemoteInvocationFactory as a reusable strategy, instead of overriding this method.

  Parameters:
    `methodInvocation` - the current AOP method invocation
  Returns:
    the RemoteInvocation object
  See Also:
    `RemoteInvocationFactory.createRemoteInvocation(org.aopalliance.intercept.MethodInvocation)`

### recreateRemoteInvocationResult

    protected Object recreateRemoteInvocationResult(RemoteInvocationResult result)
                                             throws Throwable

  Recreate the invocation result contained in the given RemoteInvocationResult object.

  The default implementation calls the default `recreate()` method. This can be overridden in subclass to provide custom recreation, potentially processing the returned result object.

  Parameters:
    `result` - the RemoteInvocationResult to recreate
  Returns:
    a return value if the invocation result is a successful return
  Throws:
    `Throwable` - if the invocation result is an exception
  See Also:
    `RemoteInvocationResult.recreate()`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.