summaryrefslogtreecommitdiff
path: root/qpid/java/common
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-02-04 21:06:35 +0000
committerRafael H. Schloming <rhs@apache.org>2008-02-04 21:06:35 +0000
commitc92f514dd2566b6e64ed6d561f25e368c2f151b3 (patch)
treedefdb23e510697f6233b1c4f30b78178e4fbbcd3 /qpid/java/common
parentb094a2c47f26003168c9780f5763f168aad3ead6 (diff)
downloadqpid-python-c92f514dd2566b6e64ed6d561f25e368c2f151b3.tar.gz
added exception callback to ConnectonDelegate
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@618437 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/ToyBroker.java4
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/ToyClient.java4
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Channel.java5
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Connection.java5
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/ConnectionDelegate.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Echo.java4
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Receiver.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java5
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/network/Assembler.java5
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java5
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java4
11 files changed, 43 insertions, 2 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/ToyBroker.java b/qpid/java/common/src/main/java/org/apache/qpidity/ToyBroker.java
index f927765166..2658dfcd09 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/ToyBroker.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/ToyBroker.java
@@ -272,6 +272,10 @@ class ToyBroker extends SessionDelegate
{
return new ToyBroker(exchange);
}
+ public void exception(Throwable t)
+ {
+ t.printStackTrace();
+ }
};
//hack
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/ToyClient.java b/qpid/java/common/src/main/java/org/apache/qpidity/ToyClient.java
index 67f34f9bde..690e729540 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/ToyClient.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/ToyClient.java
@@ -69,6 +69,10 @@ class ToyClient extends SessionDelegate
{
return new ToyClient();
}
+ public void exception(Throwable t)
+ {
+ t.printStackTrace();
+ }
});
conn.send(new ConnectionEvent(0, new ProtocolHeader(1, 0, 10)));
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Channel.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Channel.java
index 828d13d85a..7327697088 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Channel.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Channel.java
@@ -114,6 +114,11 @@ public class Channel extends Invoker
throw new RuntimeException(error.getMessage());
}
+ public void exception(Throwable t)
+ {
+ session.exception(t);
+ }
+
public void closed()
{
log.debug("channel closed: ", this);
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Connection.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Connection.java
index d7148cb532..fca7437dfd 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Connection.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Connection.java
@@ -110,6 +110,11 @@ public class Connection
}
}
+ public void exception(Throwable t)
+ {
+ delegate.exception(t);
+ }
+
public void closed()
{
log.debug("connection closed: %s", this);
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/ConnectionDelegate.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/ConnectionDelegate.java
index 0d55dea7bd..b497a56f78 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/ConnectionDelegate.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/ConnectionDelegate.java
@@ -67,6 +67,8 @@ public abstract class ConnectionDelegate extends MethodDelegate<Channel>
public abstract SessionDelegate getSessionDelegate();
+ public abstract void exception(Throwable t);
+
public void setCondition(Lock negotiationCompleteLock,Condition negotiationComplete)
{
_negotiationComplete = negotiationComplete;
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Echo.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Echo.java
index 03a684dd47..a3ac24dc48 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Echo.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Echo.java
@@ -70,6 +70,10 @@ public class Echo extends SessionDelegate
{
return new Echo();
}
+ public void exception(Throwable t)
+ {
+ t.printStackTrace();
+ }
};
//hack
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Receiver.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Receiver.java
index 65edb3a6ec..8952ebf2a5 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Receiver.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Receiver.java
@@ -31,6 +31,8 @@ public interface Receiver<T>
void received(T msg);
+ void exception(Throwable t);
+
void closed();
}
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
index 1e630b69ca..08adb99c47 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/Session.java
@@ -399,6 +399,11 @@ public class Session extends Invoker
// XXX: channel.close();
}
+ public void exception(Throwable t)
+ {
+ log.error(t, "caught exception");
+ }
+
public void closed()
{
closed.set(true);
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/Assembler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/Assembler.java
index f816ef4eff..1d501a7c6d 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/Assembler.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/Assembler.java
@@ -99,6 +99,11 @@ public class Assembler implements Receiver<NetworkEvent>, NetworkDelegate
event.delegate(this);
}
+ public void exception(Throwable t)
+ {
+ this.receiver.exception(t);
+ }
+
public void closed()
{
this.receiver.closed();
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java
index b5e7a15854..871c45743e 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/InputHandler.java
@@ -245,6 +245,11 @@ public class InputHandler implements Receiver<ByteBuffer>
}
}
+ public void exception(Throwable t)
+ {
+ receiver.exception(t);
+ }
+
public void closed()
{
receiver.closed();
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java
index 332a669c1a..2e4875cf42 100644
--- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java
+++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java
@@ -81,8 +81,8 @@ public class MinaHandler<E> implements IoHandler
public void exceptionCaught(IoSession ssn, Throwable e)
{
- log.error(e, "exception caught");
- throw new RuntimeException("IOException", e);
+ Attachment<E> attachment = (Attachment<E>) ssn.getAttachment();
+ attachment.receiver.exception(e);
}
public void sessionCreated(final IoSession ssn)