summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/testkit/src/main/java/org/apache/qpid/testkit/Client.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/java/testkit/src/main/java/org/apache/qpid/testkit/Client.java b/java/testkit/src/main/java/org/apache/qpid/testkit/Client.java
index 34818fcbea..b10129d855 100644
--- a/java/testkit/src/main/java/org/apache/qpid/testkit/Client.java
+++ b/java/testkit/src/main/java/org/apache/qpid/testkit/Client.java
@@ -28,9 +28,11 @@ import java.text.SimpleDateFormat;
import javax.jms.Connection;
import javax.jms.Destination;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
import javax.jms.Session;
-public abstract class Client
+public abstract class Client implements ExceptionListener
{
private Connection con;
private Session ssn;
@@ -50,7 +52,8 @@ public abstract class Client
public Client(Connection con) throws Exception
{
- this.con = con;
+ this.con = con;
+ this.con.setExceptionListener(this);
durable = Boolean.getBoolean("durable");
transacted = Boolean.getBoolean("transacted");
txSize = Integer.getInteger("tx_size",10);
@@ -70,6 +73,11 @@ public abstract class Client
}
}
+ public void onException(JMSException e)
+ {
+ handleError("Connection error",e);
+ }
+
public void setErrorHandler(ErrorHandler h)
{
this.errorHandler = h;