|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream java.io.ObjectInputStream org.apache.catalina.cluster.session.ReplicationStream
Custom subclass of ObjectInputStream
that loads from the
class loader for this web application. This allows classes defined only
with the web application to be found correctly.
Nested Class Summary |
Nested classes inherited from class java.io.ObjectInputStream |
java.io.ObjectInputStream.GetField |
Field Summary |
Fields inherited from interface java.io.ObjectStreamConstants |
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING |
Constructor Summary | |
ReplicationStream(java.io.InputStream stream,
java.lang.ClassLoader classLoader)
Construct a new instance of CustomObjectInputStream |
Method Summary | |
java.lang.Class |
findReplicationClass(java.lang.String name)
|
java.lang.Class |
findWebappClass(java.lang.String name)
|
java.lang.Class |
resolveClass(java.io.ObjectStreamClass classDesc)
Load the local class equivalent of the specified stream class description, by using the class loader assigned to this Context. |
protected java.lang.Class |
resolveProxyClass(java.lang.String[] interfaces)
ObjectInputStream.resolveProxyClass has some funky way of using the incorrect class loader to resolve proxy classes, let's do it our way instead |
Methods inherited from class java.io.ObjectInputStream |
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, skipBytes |
Methods inherited from class java.io.InputStream |
mark, markSupported, read, reset, skip |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.io.ObjectInput |
read, skip |
Constructor Detail |
public ReplicationStream(java.io.InputStream stream, java.lang.ClassLoader classLoader) throws java.io.IOException
stream
- The input stream we will read fromclassLoader
- The class loader used to instantiate objects
java.io.IOException
- if an input/output error occursMethod Detail |
public java.lang.Class resolveClass(java.io.ObjectStreamClass classDesc) throws java.lang.ClassNotFoundException, java.io.IOException
classDesc
- Class description from the input stream
java.lang.ClassNotFoundException
- if this class cannot be found
java.io.IOException
- if an input/output error occursprotected java.lang.Class resolveProxyClass(java.lang.String[] interfaces) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public java.lang.Class findReplicationClass(java.lang.String name) throws java.lang.ClassNotFoundException, java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException
public java.lang.Class findWebappClass(java.lang.String name) throws java.lang.ClassNotFoundException, java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |