You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/01/31 18:25:43 UTC
svn commit: r501914 -
/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java
Author: ritchiem
Date: Wed Jan 31 09:25:42 2007
New Revision: 501914
URL: http://svn.apache.org/viewvc?view=rev&rev=501914
Log:
QPID-334 WeakReferenceMessageHandle uses a singleton so when body is purged by gc it cannot be reset
Changed to use an Arraylist of size 1 as per JIRA entry.
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java
Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java?view=diff&rev=501914&r1=501913&r2=501914
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/WeakReferenceMessageHandle.java Wed Jan 31 09:25:42 2007
@@ -57,7 +57,7 @@
public ContentHeaderBody getContentHeaderBody(Long messageId) throws AMQException
{
- ContentHeaderBody chb = (_contentHeaderBody != null?_contentHeaderBody.get():null);
+ ContentHeaderBody chb = (_contentHeaderBody != null ? _contentHeaderBody.get() : null);
if (chb == null)
{
MessageMetaData mmd = _messageStore.getMessageMetaData(messageId);
@@ -107,6 +107,7 @@
/**
* Content bodies are set <i>before</i> the publish and header frames
+ *
* @param storeContext
* @param messageId
* @param contentBody
@@ -115,10 +116,9 @@
*/
public void addContentBodyFrame(StoreContext storeContext, Long messageId, ContentBody contentBody, boolean isLastContentBody) throws AMQException
{
- if(_contentBodies == null && isLastContentBody)
+ if (_contentBodies == null && isLastContentBody)
{
- _contentBodies = Collections.singletonList(new WeakReference<ContentBody>(contentBody));
-
+ _contentBodies = new ArrayList<WeakReference<ContentBody>>(1);
}
else
{
@@ -126,16 +126,14 @@
{
_contentBodies = new LinkedList<WeakReference<ContentBody>>();
}
-
-
- _contentBodies.add(new WeakReference<ContentBody>(contentBody));
}
+ _contentBodies.add(new WeakReference<ContentBody>(contentBody));
_messageStore.storeContentBodyChunk(storeContext, messageId, _contentBodies.size() - 1, contentBody, isLastContentBody);
}
public BasicPublishBody getPublishBody(Long messageId) throws AMQException
{
- BasicPublishBody bpb = (_publishBody != null?_publishBody.get():null);
+ BasicPublishBody bpb = (_publishBody != null ? _publishBody.get() : null);
if (bpb == null)
{
MessageMetaData mmd = _messageStore.getMessageMetaData(messageId);
@@ -166,6 +164,7 @@
/**
* This is called when all the content has been received.
+ *
* @param publishBody
* @param contentHeaderBody
* @throws AMQException