summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2008-02-06 22:36:02 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2008-02-06 22:36:02 +0000
commitf1ca5f19a2d6cb8db8bc89597ab649e00ea45dfb (patch)
treeda0ac89b865e1c386b44e8bed05f0862c0f89bc5 /qpid/java
parent7dcc9e664a8a877fbd8adf657faa2eb5e6b41a5e (diff)
downloadqpid-python-f1ca5f19a2d6cb8db8bc89597ab649e00ea45dfb.tar.gz
Added code to pass in the throwable to the closedListener so that it can be included in the JMS Exception thrown via the ExceptionListener
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@619189 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java9
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java2
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/Client.java10
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/ClosedListener.java4
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/JMSTestCase.java32
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/ClientSession.java2
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/DemoClient.java2
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/LargeMsgDemoClient.java2
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/nclient/interop/BasicInteropTest.java2
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpidity/njms/SessionImpl.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpidity/transport/Connection.java2
11 files changed, 48 insertions, 21 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
index e3c12a3f50..e7a2a62e19 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
@@ -142,12 +142,17 @@ public class AMQConnectionDelegate_0_10 implements AMQConnectionDelegate, Closed
}
- public void onClosed(ErrorCode errorCode, String reason)
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t)
{
if (_logger.isDebugEnabled())
{
_logger.debug("Received a connection close from the broker: Error code : " + errorCode.getCode());
}
- _conn._exceptionListener.onException(new JMSException(reason,String.valueOf(errorCode.getCode())));
+ JMSException ex = new JMSException(reason,String.valueOf(errorCode.getCode()));
+ if (t != null)
+ {
+ ex.initCause(t);
+ }
+ _conn._exceptionListener.onException(ex);
}
}
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
index 246e27dde0..dd2b9a2389 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
@@ -592,7 +592,7 @@ public class AMQSession_0_10 extends AMQSession
*/
private class QpidSessionExceptionListener implements org.apache.qpidity.nclient.ClosedListener
{
- public void onClosed(ErrorCode errorCode, String reason)
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t)
{
synchronized (this)
{
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/Client.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/Client.java
index 03294e11e0..5bbabc01b5 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/Client.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/Client.java
@@ -58,9 +58,11 @@ public class Client implements org.apache.qpidity.nclient.Connection
public void exception(Throwable t)
{
+ System.out.println("notifying listener");
if (_closedListner != null)
{
- _closedListner.onClosed(ErrorCode.CONNECTION_ERROR,ErrorCode.CONNECTION_ERROR.getDesc());
+ System.out.println("notifying listener2");
+ _closedListner.onClosed(ErrorCode.CONNECTION_ERROR,ErrorCode.CONNECTION_ERROR.getDesc(),t);
}
else
{
@@ -70,9 +72,10 @@ public class Client implements org.apache.qpidity.nclient.Connection
public void closed()
{
+ System.out.println("notifying listener");
if (_closedListner != null && !this.receivedClose)
{
- _closedListner.onClosed(ErrorCode.CONNECTION_ERROR,ErrorCode.CONNECTION_ERROR.getDesc());
+ _closedListner.onClosed(ErrorCode.CONNECTION_ERROR,ErrorCode.CONNECTION_ERROR.getDesc(),null);
}
}
@@ -89,7 +92,7 @@ public class Client implements org.apache.qpidity.nclient.Connection
}
else
{
- _closedListner.onClosed(errorCode, connectionClose.getReplyText());
+ _closedListner.onClosed(errorCode, connectionClose.getReplyText(),null);
}
this.receivedClose = true;
@@ -103,6 +106,7 @@ public class Client implements org.apache.qpidity.nclient.Connection
if (System.getProperty("transport","mina").equalsIgnoreCase("nio"))
{
+ System.out.println("Using NIO");
if( _logger.isDebugEnabled())
{
_logger.debug("using NIO");
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/ClosedListener.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/ClosedListener.java
index 5ca598d412..c0c6978a14 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/ClosedListener.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/ClosedListener.java
@@ -32,8 +32,8 @@ public interface ClosedListener
* informs the connection's ExceptionListener
* @param errorCode TODO
* @param reason TODO
- *
+ * @param t TODO
* @see Connection
*/
- public void onClosed(ErrorCode errorCode, String reason);
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t);
} \ No newline at end of file
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/JMSTestCase.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/JMSTestCase.java
index 7eb482c26b..008b85e98a 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/JMSTestCase.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/JMSTestCase.java
@@ -1,5 +1,7 @@
package org.apache.qpidity.nclient;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
@@ -16,17 +18,17 @@ public class JMSTestCase
try
{
- javax.jms.Connection con = new AMQConnection("qpid:password=guest;username=guest;client_id=clientid;virtualhost=test@tcp:127.0.0.1:5672");
+ javax.jms.Connection con = new AMQConnection("qpid:password=pass;username=name@tcp:localhost:5672");
con.start();
javax.jms.Session ssn = con.createSession(false, 1);
javax.jms.Destination dest = new AMQQueue(new AMQShortString("direct"),"test");
javax.jms.MessageConsumer cons = ssn.createConsumer(dest);
- javax.jms.MessageProducer prod = ssn.createProducer(dest);
+ //javax.jms.MessageProducer prod = ssn.createProducer(dest);
- //javax.jms.TextMessage m = (javax.jms.TextMessage)cons.receive();
- /* cons.setMessageListener(new MessageListener()
+ javax.jms.TextMessage m = null; // (javax.jms.TextMessage)cons.receive();
+ cons.setMessageListener(new MessageListener()
{
public void onMessage(Message m)
{
@@ -41,9 +43,25 @@ public class JMSTestCase
}
}
- });*/
+ });
- javax.jms.TextMessage msg = ssn.createTextMessage();
+ con.setExceptionListener(new ExceptionListener()
+ {
+ public void onException(JMSException e)
+ {
+ e.printStackTrace();
+ }
+ });
+
+ System.out.println("Waiting");
+ while (m == null)
+ {
+
+ }
+
+ System.out.println("Exiting");
+
+ /*javax.jms.TextMessage msg = ssn.createTextMessage();
msg.setText("This is a test message");
msg.setBooleanProperty("targetMessage", false);
prod.send(msg);
@@ -60,7 +78,7 @@ public class JMSTestCase
else
{
System.out.println("message is not null" + m);
- }
+ }*/
}
catch(Exception e)
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/ClientSession.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/ClientSession.java
index 0a25ea3961..5fe38889d9 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/ClientSession.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/ClientSession.java
@@ -189,7 +189,7 @@ public class ClientSession extends org.apache.qpidity.transport.Session implemen
void notifyException(QpidException ex)
{
- _exceptionListner.onClosed(null, null);
+ _exceptionListner.onClosed(null, null, null);
}
Map<String,MessagePartListener> getMessageListerners()
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/DemoClient.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/DemoClient.java
index 96ec98a45a..810082fdd3 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/DemoClient.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/DemoClient.java
@@ -40,7 +40,7 @@ public class DemoClient
Session ssn = conn.createSession(50000);
ssn.setClosedListener(new ClosedListener()
{
- public void onClosed(ErrorCode errorCode, String reason)
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t)
{
System.out.println("ErrorCode : " + errorCode + " reason : " + reason);
}
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/LargeMsgDemoClient.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/LargeMsgDemoClient.java
index 17081265aa..6a80575f4b 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/LargeMsgDemoClient.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/impl/LargeMsgDemoClient.java
@@ -43,7 +43,7 @@ public class LargeMsgDemoClient
Session ssn = conn.createSession(50000);
ssn.setClosedListener(new ClosedListener()
{
- public void onClosed(ErrorCode errorCode, String reason)
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t)
{
System.out.println("ErrorCode : " + errorCode + " reason : " + reason);
}
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/interop/BasicInteropTest.java b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/interop/BasicInteropTest.java
index 54765ea72e..3ddded2051 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/nclient/interop/BasicInteropTest.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/nclient/interop/BasicInteropTest.java
@@ -124,7 +124,7 @@ public class BasicInteropTest implements ClosedListener
session.sync();
}
- public void onClosed(ErrorCode errorCode, String reason)
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t)
{
System.out.println("------- Broker Notified an error --------");
System.out.println("------- " + errorCode + " --------");
diff --git a/qpid/java/client/src/main/java/org/apache/qpidity/njms/SessionImpl.java b/qpid/java/client/src/main/java/org/apache/qpidity/njms/SessionImpl.java
index 5dc3b34a61..5694075ef4 100644
--- a/qpid/java/client/src/main/java/org/apache/qpidity/njms/SessionImpl.java
+++ b/qpid/java/client/src/main/java/org/apache/qpidity/njms/SessionImpl.java
@@ -1163,7 +1163,7 @@ public class SessionImpl implements Session
*/
private class QpidSessionExceptionListener implements org.apache.qpidity.nclient.ClosedListener
{
- public void onClosed(ErrorCode errorCode, String reason)
+ public void onClosed(ErrorCode errorCode, String reason, Throwable t)
{
synchronized (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 62aba83e29..56b927f802 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
@@ -77,7 +77,7 @@ public class Connection
public void received(ConnectionEvent event)
{
- log.debug("RECV: %s", event);
+ log.debug("RECV: %s", event);
Channel channel = getChannel(event.getChannel());
channel.received(event.getProtocolEvent());
}