From e43109012eef103b105f479bd14de33dc5d3cc31 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Sat, 30 Aug 2014 08:40:34 +0000 Subject: 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 --- .../java/org/apache/qpid/client/BasicMessageProducer_0_8.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'qpid/java') 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); -- cgit v1.2.1