diff options
author | Robert Greig <rgreig@apache.org> | 2007-01-09 23:46:48 +0000 |
---|---|---|
committer | Robert Greig <rgreig@apache.org> | 2007-01-09 23:46:48 +0000 |
commit | 283741d2680b4fa43e3c0e4e02621d1a7a24e37c (patch) | |
tree | 8206606d47d16e63f46876c7d514be7d54e7c032 | |
parent | 0703a8f72fa04aaea9f34cdf38c9a69a4b713faa (diff) | |
download | qpid-python-283741d2680b4fa43e3c0e4e02621d1a7a24e37c.tar.gz |
QPID-270 : (Patch supplied by Rob Godfrey) Change of use of AMQConnectionException
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@494655 13f79535-47bb-0310-9956-ffa450edef68
3 files changed, 35 insertions, 8 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java index a4d0065699..ca101cb3b5 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java @@ -21,10 +21,7 @@ package org.apache.qpid.client; import org.apache.log4j.Logger; -import org.apache.qpid.AMQConnectionException; -import org.apache.qpid.AMQException; -import org.apache.qpid.AMQUndeliveredException; -import org.apache.qpid.AMQUnresolvedAddressException; +import org.apache.qpid.*; import org.apache.qpid.client.failover.FailoverSupport; import org.apache.qpid.client.protocol.AMQProtocolHandler; import org.apache.qpid.client.state.AMQState; @@ -274,7 +271,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect message = "Unable to Connect"; } - AMQException e = new AMQConnectionException(message); + AMQException e = new AMQConnectionFailureException(message); if (lastException != null) { diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java index c5aa62032c..0bfe8dbddf 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java @@ -26,6 +26,7 @@ import org.apache.qpid.client.transport.TransportConnection; import org.apache.qpid.AMQException; import org.apache.qpid.AMQConnectionException; import org.apache.qpid.AMQUnresolvedAddressException; +import org.apache.qpid.AMQConnectionFailureException; import javax.jms.Connection; @@ -88,7 +89,7 @@ public class ConnectionTest extends TestCase } catch (AMQException amqe) { - if (!(amqe instanceof AMQConnectionException)) + if (!(amqe instanceof AMQConnectionFailureException)) { fail("Correct exception not thrown. Excpected 'AMQConnectionException' got: " + amqe); } 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())); + } + } |