RESOLVED - issue BATCH-1541, BATCH-1542: Thread safety for map daos
This commit is contained in:
@@ -20,6 +20,7 @@ import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.OptionalDataException;
|
||||
|
||||
|
||||
/**
|
||||
@@ -66,6 +67,9 @@ public class SerializationUtils {
|
||||
try {
|
||||
return new ObjectInputStream(new ByteArrayInputStream(bytes)).readObject();
|
||||
}
|
||||
catch (OptionalDataException e) {
|
||||
throw new IllegalArgumentException("Could not deserialize object: eof="+e.eof+ " at length="+e.length, e);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new IllegalArgumentException("Could not deserialize object", e);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.aopalliance.intercept.MethodInterceptor;
|
||||
import org.aopalliance.intercept.MethodInvocation;
|
||||
@@ -74,7 +75,7 @@ public class TransactionAwareProxyFactory<T> {
|
||||
return (T) new HashSet((Set) target);
|
||||
}
|
||||
else if (target instanceof Map) {
|
||||
return (T) new HashMap((Map) target);
|
||||
return (T) new ConcurrentHashMap((Map) target);
|
||||
}
|
||||
else {
|
||||
throw new UnsupportedOperationException("Cannot copy target for this type: " + target.getClass());
|
||||
|
||||
Reference in New Issue
Block a user