public abstract class RemoteInvocationBasedAccessor extends UrlBasedRemoteAccessor
RemoteInvocation
objects.
Provides a "remoteInvocationFactory" property, with a
DefaultRemoteInvocationFactory
as default strategy.setRemoteInvocationFactory(org.springframework.remoting.support.RemoteInvocationFactory)
,
RemoteInvocation
,
RemoteInvocationFactory
,
DefaultRemoteInvocationFactory
logger
Constructor and Description |
---|
RemoteInvocationBasedAccessor() |
Modifier and Type | Method and Description |
---|---|
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.
|
afterPropertiesSet, getServiceUrl, setServiceUrl
getServiceInterface, setServiceInterface
getBeanClassLoader, overrideThreadContextClassLoader, resetThreadContextClassLoader, setBeanClassLoader
public void setRemoteInvocationFactory(RemoteInvocationFactory remoteInvocationFactory)
DefaultRemoteInvocationFactory
.
A custom invocation factory can add further context information to the invocation, for example user credentials.
public RemoteInvocationFactory getRemoteInvocationFactory()
protected RemoteInvocation createRemoteInvocation(MethodInvocation methodInvocation)
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.
methodInvocation
- the current AOP method invocationRemoteInvocationFactory.createRemoteInvocation(org.aopalliance.intercept.MethodInvocation)
@Nullable protected Object recreateRemoteInvocationResult(RemoteInvocationResult result) throws Throwable
The default implementation calls the default recreate()
method.
This can be overridden in subclass to provide custom recreation, potentially
processing the returned result object.
result
- the RemoteInvocationResult to recreateThrowable
- if the invocation result is an exceptionRemoteInvocationResult.recreate()