public abstract class

RemoteInvocationBasedExporter

extends RemoteExporter
java.lang.Object
   ↳ org.springframework.remoting.support.RemotingSupport
     ↳ org.springframework.remoting.support.RemoteExporter
       ↳ org.springframework.remoting.support.RemoteInvocationBasedExporter
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Abstract base class for remote service exporters that are based on deserialization of RemoteInvocation objects.

Provides a "remoteInvocationExecutor" property, with a DefaultRemoteInvocationExecutor as default strategy.

Summary

[Expand]
Inherited Fields
From class org.springframework.remoting.support.RemotingSupport
Public Constructors
RemoteInvocationBasedExporter()
Public Methods
RemoteInvocationExecutor getRemoteInvocationExecutor()
Return the RemoteInvocationExecutor used by this exporter.
void setRemoteInvocationExecutor(RemoteInvocationExecutor remoteInvocationExecutor)
Set the RemoteInvocationExecutor to use for this exporter.
Protected Methods
Object invoke(RemoteInvocation invocation, Object targetObject)
Apply the given remote invocation to the given target object.
RemoteInvocationResult invokeAndCreateResult(RemoteInvocation invocation, Object targetObject)
Apply the given remote invocation to the given target object, wrapping the invocation result in a serializable RemoteInvocationResult object.
[Expand]
Inherited Methods
From class org.springframework.remoting.support.RemoteExporter
From class org.springframework.remoting.support.RemotingSupport
From class java.lang.Object
From interface org.springframework.beans.factory.BeanClassLoaderAware

Public Constructors

public RemoteInvocationBasedExporter ()

Public Methods

public RemoteInvocationExecutor getRemoteInvocationExecutor ()

Return the RemoteInvocationExecutor used by this exporter.

public void setRemoteInvocationExecutor (RemoteInvocationExecutor remoteInvocationExecutor)

Set the RemoteInvocationExecutor to use for this exporter. Default is a DefaultRemoteInvocationExecutor.

A custom invocation executor can extract further context information from the invocation, for example user credentials.

Protected Methods

protected Object invoke (RemoteInvocation invocation, Object targetObject)

Apply the given remote invocation to the given target object. The default implementation delegates to the RemoteInvocationExecutor.

Can be overridden in subclasses for custom invocation behavior, possibly for applying additional invocation parameters from a custom RemoteInvocation subclass. Note that it is preferable to use a custom RemoteInvocationExecutor which is a reusable strategy.

Parameters
invocation the remote invocation
targetObject the target object to apply the invocation to
Returns
  • the invocation result
Throws
NoSuchMethodException if the method name could not be resolved
IllegalAccessException if the method could not be accessed
InvocationTargetException if the method invocation resulted in an exception

protected RemoteInvocationResult invokeAndCreateResult (RemoteInvocation invocation, Object targetObject)

Apply the given remote invocation to the given target object, wrapping the invocation result in a serializable RemoteInvocationResult object. The default implementation creates a plain RemoteInvocationResult.

Can be overridden in subclasses for custom invocation behavior, for example to return additional context information. Note that this is not covered by the RemoteInvocationExecutor strategy!

Parameters
invocation the remote invocation
targetObject the target object to apply the invocation to
Returns
  • the invocation result