org.springframework.remoting.rmi
Class RmiBasedExporter
java.lang.Object
org.springframework.remoting.support.RemoteExporter
org.springframework.remoting.support.RemoteInvocationBasedExporter
org.springframework.remoting.rmi.RmiBasedExporter
- All Implemented Interfaces:
- BeanClassLoaderAware
- Direct Known Subclasses:
- JndiRmiServiceExporter, RmiServiceExporter
public abstract class RmiBasedExporter
- extends RemoteInvocationBasedExporter
Convenient superclass for RMI-based remote exporters. Provides a facility
to automatically wrap a given plain Java service object with am
RmiInvocationWrapper, exposing the RmiInvocationHandler interface.
With an RMI invoker, RMI communication works on the RmiInvocationHandler
level, needing only one stub for any service. Service interfaces do not have to
extend java.rmi.Remote
or throw java.rmi.RemoteException
on all methods, but in and out parameters have to be serializable.
- Since:
- 1.2.5
- Author:
- Juergen Hoeller
- See Also:
RmiServiceExporter
,
JndiRmiServiceExporter
Method Summary |
protected Remote |
getObjectToExport()
Determine the object to export: either the service object itself
or a RmiInvocationWrapper in case of a non-RMI service object. |
protected Object |
invoke(RemoteInvocation invocation,
Object targetObject)
Redefined here to be visible to RmiInvocationWrapper. |
Methods inherited from class org.springframework.remoting.support.RemoteExporter |
checkService, checkServiceInterface, getExporterName, getProxyForService, getService, getServiceInterface, isRegisterTraceInterceptor, setBeanClassLoader, setRegisterTraceInterceptor, setService, setServiceInterface |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RmiBasedExporter
public RmiBasedExporter()
getObjectToExport
protected Remote getObjectToExport()
- Determine the object to export: either the service object itself
or a RmiInvocationWrapper in case of a non-RMI service object.
- Returns:
- the RMI object to export
- See Also:
RemoteExporter.setService(java.lang.Object)
,
RemoteExporter.setServiceInterface(java.lang.Class)
invoke
protected Object invoke(RemoteInvocation invocation,
Object targetObject)
throws NoSuchMethodException,
IllegalAccessException,
InvocationTargetException
- Redefined here to be visible to RmiInvocationWrapper.
Simply delegates to the corresponding superclass method.
- Overrides:
invoke
in class RemoteInvocationBasedExporter
- Parameters:
invocation
- the remote invocationtargetObject
- 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- See Also:
RemoteInvocationExecutor.invoke(org.springframework.remoting.support.RemoteInvocation, java.lang.Object)
Copyright © 2002-2007 The Spring Framework.