Author: iocanel
Date: Wed Feb 22 22:45:10 2012
New Revision: 1292562
URL: http://svn.apache.org/viewvc?rev=1292562&view=rev
Log:
[DIRECTMEMORY-68] Fixed StandardSerializer.
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/serialization/StandardSerializer.java
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/serialization/StandardSerializer.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/serialization/StandardSerializer.java?rev=1292562&r1=1292561&r2=1292562&view=diff
==============================================================================
---
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/serialization/StandardSerializer.java
(original)
+++
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/serialization/StandardSerializer.java
Wed Feb 22 22:45:10 2012
@@ -24,6 +24,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.io.ObjectStreamClass;
public final class StandardSerializer
implements Serializer
@@ -48,11 +49,16 @@ public final class StandardSerializer
* {@inheritDoc}
*/
@Override
- public <T> T deserialize( byte[] source, Class<T> clazz )
+ public <T> T deserialize( byte[] source, final Class<T> clazz )
throws IOException, ClassNotFoundException
{
ByteArrayInputStream bis = new ByteArrayInputStream( source );
- ObjectInputStream ois = new ObjectInputStream( bis );
+ ObjectInputStream ois = new ObjectInputStream( bis ) {
+ @Override
+ protected Class<?> resolveClass(ObjectStreamClass
objectStreamClass) throws IOException, ClassNotFoundException {
+ return
clazz.getClassLoader().loadClass(objectStreamClass.getName());
+ }
+ };
T obj = clazz.cast( ois.readObject() );
ois.close();
return obj;