summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Greig <rgreig@apache.org>2007-01-09 23:46:48 +0000
committerRobert Greig <rgreig@apache.org>2007-01-09 23:46:48 +0000
commit283741d2680b4fa43e3c0e4e02621d1a7a24e37c (patch)
tree8206606d47d16e63f46876c7d514be7d54e7c032
parent0703a8f72fa04aaea9f34cdf38c9a69a4b713faa (diff)
downloadqpid-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
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQConnection.java7
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java3
-rw-r--r--java/common/src/main/java/org/apache/qpid/AMQConnectionException.java33
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()));
+ }
+
}