diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2009-11-26 16:14:19 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2009-11-26 16:14:19 +0000 |
| commit | c1b62c2215391a3c785f18711bfb5bdefa946652 (patch) | |
| tree | 72080a9b4803edb239e91bc99b9ae400286d787f /java/common/src | |
| parent | 471af25ece45407939721d8492d758e5cb16f73b (diff) | |
| download | qpid-python-c1b62c2215391a3c785f18711bfb5bdefa946652.tar.gz | |
Fixes for 0-9-1 support
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@884619 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
| -rw-r--r-- | java/common/src/main/java/org/apache/qpid/AMQConnectionException.java | 2 | ||||
| -rw-r--r-- | java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java | 19 |
2 files changed, 13 insertions, 8 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java index afd415b1eb..8ef6facef1 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java @@ -60,7 +60,7 @@ public class AMQConnectionException extends AMQException public AMQFrame getCloseFrame(int channel) { MethodRegistry reg = MethodRegistry.getMethodRegistry(new ProtocolVersion(major,minor)); - return new AMQFrame(channel, + return new AMQFrame(0, reg.createConnectionCloseBody(getErrorCode().getCode(), new AMQShortString(getMessage()), _classId, diff --git a/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java b/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java index d503ed7ea3..ac21fe4243 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java +++ b/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java @@ -54,7 +54,8 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData public ProtocolInitiation(ProtocolVersion pv) { - this(AMQP_HEADER, CURRENT_PROTOCOL_CLASS, + this(AMQP_HEADER, + pv.equals(ProtocolVersion.v0_91) ? 0 : CURRENT_PROTOCOL_CLASS, pv.equals(ProtocolVersion.v0_91) ? 0 : TCP_PROTOCOL_INSTANCE, pv.equals(ProtocolVersion.v0_91) ? 9 : pv.getMajorVersion(), pv.equals(ProtocolVersion.v0_91) ? 1 : pv.getMinorVersion()); @@ -159,11 +160,6 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData } } } - if (_protocolClass != CURRENT_PROTOCOL_CLASS) - { - throw new AMQProtocolClassException("Protocol class " + CURRENT_PROTOCOL_CLASS + " was expected; received " + - _protocolClass, null); - } ProtocolVersion pv; @@ -171,7 +167,16 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData if(_protocolInstance == 0 && _protocolMajor == 9 && _protocolMinor == 1) { pv = ProtocolVersion.v0_91; - + if (_protocolClass != 0) + { + throw new AMQProtocolClassException("Protocol class " + 0 + " was expected; received " + + _protocolClass, null); + } + } + else if (_protocolClass != CURRENT_PROTOCOL_CLASS) + { + throw new AMQProtocolClassException("Protocol class " + CURRENT_PROTOCOL_CLASS + " was expected; received " + + _protocolClass, null); } else if (_protocolInstance != TCP_PROTOCOL_INSTANCE) { |
