summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java13
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/basic/PubSubTwoConnectionTest.java11
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/Content.java9
3 files changed, 30 insertions, 3 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
index 9267d9127c..b667eb0242 100644
--- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
+++ b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
@@ -564,10 +564,21 @@ public class BasicMessageProducer extends Closeable implements org.apache.qpid.j
int size = (payload != null) ? payload.limit() : 0;
final long framePayloadMax = _session.getAMQConnection().getMaximumFrameSize();
+ if(_logger.isDebugEnabled()){
+ _logger.debug("framePayloadMax " + framePayloadMax);
+ _logger.debug("size " + size);
+ _logger.debug("payload capacity" + payload.capacity());
+ _logger.debug("payload limit" + payload.limit());
+ _logger.debug("payload remaining" + payload.remaining());
+ _logger.debug("payload position" + payload.position());
+ }
+
if (size < framePayloadMax){
// Inline message case
_logger.debug("Inline case, sending data inline with the transfer method");
- Content data = new Content(Content.ContentTypeEnum.CONTENT_TYPE_INLINE,payload);
+
+ Content data = new Content(Content.ContentTypeEnum.CONTENT_TYPE_INLINE,payload);
+
doMessageTransfer(messageHeaders,destination,data,message,deliveryMode,priority,timeToLive,immediate);
} else {
// Reference message case
diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/PubSubTwoConnectionTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/PubSubTwoConnectionTest.java
index f4814795c4..b853963c96 100644
--- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/PubSubTwoConnectionTest.java
+++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/PubSubTwoConnectionTest.java
@@ -64,4 +64,15 @@ public class PubSubTwoConnectionTest extends TestCase
assertNotNull(tm1);
assertEquals("Hello", tm1.getText());
}
+
+ public static void main(String[] args){
+ PubSubTwoConnectionTest test = new PubSubTwoConnectionTest();
+ try {
+ test.setUp();
+ test.testTwoConnections();
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
}
diff --git a/java/common/src/main/java/org/apache/qpid/framing/Content.java b/java/common/src/main/java/org/apache/qpid/framing/Content.java
index ae532b8cdf..4448ef3ae5 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/Content.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/Content.java
@@ -129,8 +129,13 @@ public class Content
content.limit(length);
}
- public String toString()
+ public synchronized String toString()
{
- return content.toString();
+ int position = content.position();
+ content.flip();
+ String tmp = content.toString();
+ content.position(position);
+
+ return tmp;
}
}