|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.remoting.support.RemotingSupport org.springframework.remoting.support.RemoteExporter org.springframework.remoting.support.RemoteInvocationBasedExporter org.springframework.remoting.rmi.RemoteInvocationSerializingExporter
public abstract class RemoteInvocationSerializingExporter
Abstract base class for remote service exporters that explicitly deserialize
RemoteInvocation
objects and serialize
RemoteInvocationResult
objects,
for example Spring's HTTP invoker.
Provides template methods for ObjectInputStream
and
ObjectOutputStream
handling.
ObjectInputStream
,
ObjectOutputStream
,
doReadRemoteInvocation(java.io.ObjectInputStream)
,
doWriteRemoteInvocationResult(org.springframework.remoting.support.RemoteInvocationResult, java.io.ObjectOutputStream)
Field Summary | |
---|---|
static String |
CONTENT_TYPE_SERIALIZED_OBJECT
Default content type: "application/x-java-serialized-object" |
Fields inherited from class org.springframework.remoting.support.RemotingSupport |
---|
logger |
Constructor Summary | |
---|---|
RemoteInvocationSerializingExporter()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware). |
protected ObjectInputStream |
createObjectInputStream(InputStream is)
Create an ObjectInputStream for the given InputStream. |
protected ObjectOutputStream |
createObjectOutputStream(OutputStream os)
Create an ObjectOutputStream for the given OutputStream. |
protected RemoteInvocation |
doReadRemoteInvocation(ObjectInputStream ois)
Perform the actual reading of an invocation result object from the given ObjectInputStream. |
protected void |
doWriteRemoteInvocationResult(RemoteInvocationResult result,
ObjectOutputStream oos)
Perform the actual writing of the given invocation result object to the given ObjectOutputStream. |
String |
getContentType()
Return the content type to use for sending remote invocation responses. |
protected Object |
getProxy()
|
boolean |
isAcceptProxyClasses()
Return whether to accept deserialization of proxy classes. |
void |
prepare()
Initialize this service exporter. |
void |
setAcceptProxyClasses(boolean acceptProxyClasses)
Set whether to accept deserialization of proxy classes. |
void |
setContentType(String contentType)
Specify the content type to use for sending remote invocation responses. |
Methods inherited from class org.springframework.remoting.support.RemoteInvocationBasedExporter |
---|
getRemoteInvocationExecutor, invoke, invokeAndCreateResult, setRemoteInvocationExecutor |
Methods inherited from class org.springframework.remoting.support.RemoteExporter |
---|
checkService, checkServiceInterface, getExporterName, getProxyForService, getService, getServiceInterface, setInterceptors, setRegisterTraceInterceptor, setService, 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 |
Field Detail |
---|
public static final String CONTENT_TYPE_SERIALIZED_OBJECT
Constructor Detail |
---|
public RemoteInvocationSerializingExporter()
Method Detail |
---|
public void setContentType(String contentType)
Default is "application/x-java-serialized-object".
public String getContentType()
public void setAcceptProxyClasses(boolean acceptProxyClasses)
Default is "true". May be deactivated as a security measure.
public boolean isAcceptProxyClasses()
public void afterPropertiesSet()
InitializingBean
This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.
afterPropertiesSet
in interface InitializingBean
public void prepare()
protected final Object getProxy()
protected ObjectInputStream createObjectInputStream(InputStream is) throws IOException
The default implementation creates a Spring CodebaseAwareObjectInputStream
.
is
- the InputStream to read from
IOException
- if creation of the ObjectInputStream failedprotected RemoteInvocation doReadRemoteInvocation(ObjectInputStream ois) throws IOException, ClassNotFoundException
The default implementation simply calls
ObjectInputStream.readObject()
.
Can be overridden for deserialization of a custom wrapper object rather
than the plain invocation, for example an encryption-aware holder.
ois
- the ObjectInputStream to read from
IOException
- in case of I/O failure
ClassNotFoundException
- if case of a transferred class not
being found in the local ClassLoaderprotected ObjectOutputStream createObjectOutputStream(OutputStream os) throws IOException
The default implementation creates a plain
ObjectOutputStream
.
os
- the OutputStream to write to
IOException
- if creation of the ObjectOutputStream failedprotected void doWriteRemoteInvocationResult(RemoteInvocationResult result, ObjectOutputStream oos) throws IOException
The default implementation simply calls
ObjectOutputStream.writeObject(java.lang.Object)
.
Can be overridden for serialization of a custom wrapper object rather
than the plain invocation, for example an encryption-aware holder.
result
- the RemoteInvocationResult objectoos
- the ObjectOutputStream to write to
IOException
- if thrown by I/O methods
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |