summaryrefslogtreecommitdiff
path: root/qpid/java/client
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-08-30 08:40:34 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-08-30 08:40:34 +0000
commite43109012eef103b105f479bd14de33dc5d3cc31 (patch)
tree3ba3bb2a60d86e0de44978f7aef12754c5eb0682 /qpid/java/client
parentbaf54458da9914e3255434cde4ef1df285f5f050 (diff)
downloadqpid-python-e43109012eef103b105f479bd14de33dc5d3cc31.tar.gz
QPID-6058 : [Java Client] The client does not fail with a sensible error message if it tries to send a message header that is larger than the max frame size
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1621426 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
index e1b399e10a..4dcd5a2e44 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
@@ -217,6 +217,14 @@ public class BasicMessageProducer_0_8 extends BasicMessageProducer
AMQFrame contentHeaderFrame =
ContentHeaderBody.createAMQFrame(getChannelId(),
classIfForBasic, 0, contentHeaderProperties, size);
+ if(contentHeaderFrame.getSize() > getSession().getAMQConnection().getMaximumFrameSize())
+ {
+ throw new JMSException("Unable to send message as the headers are too large ("
+ + contentHeaderFrame.getSize()
+ + " bytes, but the maximum negotiated frame size is "
+ + getSession().getAMQConnection().getMaximumFrameSize()
+ + ").");
+ }
if (getLogger().isDebugEnabled())
{
getLogger().debug("Sending content header frame to " + destination);