diff options
Diffstat (limited to 'java/common')
-rw-r--r-- | java/common/src/main/java/org/apache/qpid/AMQConnectionException.java | 33 |
1 files changed, 31 insertions, 2 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 6254d80f32..477123a4ec 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java @@ -21,10 +21,39 @@ package org.apache.qpid; +import org.apache.qpid.framing.AMQFrame; +import org.apache.qpid.framing.AMQShortString; +import org.apache.qpid.framing.ConnectionCloseBody; + public class AMQConnectionException extends AMQException { - public AMQConnectionException(String message) + private final int _classId; + private final int _methodId; + /* AMQP version for which exception ocurred */ + private final byte major; + private final byte minor; + + public AMQConnectionException(int errorCode, String msg, int classId, int methodId, byte major, byte minor, Throwable t) + { + super(errorCode, msg, t); + _classId = classId; + _methodId = methodId; + this.major = major; + this.minor = minor; + } + + public AMQConnectionException(int errorCode, String msg, int classId, int methodId, byte major, byte minor) { - super(message); + super(errorCode, msg); + _classId = classId; + _methodId = methodId; + this.major = major; + this.minor = minor; } + + public AMQFrame getCloseFrame(int channel) + { + return ConnectionCloseBody.createAMQFrame(channel, major, minor, _classId, _methodId, getErrorCode(), new AMQShortString(getMessage())); + } + } |