summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2010-05-19 15:42:10 +0000
committerRobert Gemmell <robbie@apache.org>2010-05-19 15:42:10 +0000
commite5c90eec9eb73444370f987d009cc79d8af943e8 (patch)
tree566a3c499e0ac03155d6360f372176eaa7218604
parent4583e63decd1623ce9b31cc1e64693cf4da1d2f9 (diff)
downloadqpid-python-e5c90eec9eb73444370f987d009cc79d8af943e8.tar.gz
QPID-2466: swap WeakReference usage to keep handles to message content to SoftReference's.
Applied patch from Andrew Kennedy git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@946227 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xqpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_0_10.java8
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java8
2 files changed, 8 insertions, 8 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_0_10.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_0_10.java
index 5a5e2fe5b4..cf8ae2166c 100755
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_0_10.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_0_10.java
@@ -32,7 +32,7 @@ import org.apache.qpid.transport.codec.BBEncoder;
import org.apache.qpid.transport.codec.BBDecoder;
import java.nio.ByteBuffer;
-import java.lang.ref.WeakReference;
+import java.lang.ref.SoftReference;
public class MessageMetaData_0_10 implements StorableMessageMetaData
{
@@ -42,7 +42,7 @@ public class MessageMetaData_0_10 implements StorableMessageMetaData
private MessageTransferHeader _messageHeader;
private long _arrivalTime;
private int _bodySize;
- private volatile WeakReference<ByteBuffer> _body;
+ private volatile SoftReference<ByteBuffer> _body;
private static final int ENCODER_SIZE = 1 << 16;
@@ -89,7 +89,7 @@ public class MessageMetaData_0_10 implements StorableMessageMetaData
ByteBuffer body = ByteBuffer.allocate(_bodySize);
body.put(xfrBody);
body.flip();
- _body = new WeakReference(body);
+ _body = new SoftReference<ByteBuffer>(body);
}
@@ -212,7 +212,7 @@ public class MessageMetaData_0_10 implements StorableMessageMetaData
public void setBody(ByteBuffer body)
{
- _body = new WeakReference(body);
+ _body = new SoftReference<ByteBuffer>(body);
}
private static class MetaDataFactory implements MessageMetaDataType.Factory<MessageMetaData_0_10>
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java
index d38b318fdf..a87cd32e37 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java
@@ -36,7 +36,7 @@ import org.apache.qpid.server.queue.AMQQueue;
import java.io.ByteArrayInputStream;
import java.io.File;
-import java.lang.ref.WeakReference;
+import java.lang.ref.SoftReference;
import java.nio.ByteBuffer;
import java.sql.Blob;
import java.sql.Connection;
@@ -1408,7 +1408,7 @@ public class DerbyMessageStore implements MessageStore
{
private final long _messageId;
- private volatile WeakReference<StorableMessageMetaData> _metaDataRef;
+ private volatile SoftReference<StorableMessageMetaData> _metaDataRef;
private Connection _conn;
StoredDerbyMessage(long messageId, StorableMessageMetaData metaData)
@@ -1424,7 +1424,7 @@ public class DerbyMessageStore implements MessageStore
{
_messageId = messageId;
- _metaDataRef = new WeakReference(metaData);
+ _metaDataRef = new SoftReference<StorableMessageMetaData>(metaData);
if(persist)
{
_conn = newConnection();
@@ -1451,7 +1451,7 @@ public class DerbyMessageStore implements MessageStore
{
throw new RuntimeException(e);
}
- _metaDataRef = new WeakReference(metaData);
+ _metaDataRef = new SoftReference<StorableMessageMetaData>(metaData);
}
return metaData;