diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2008-02-06 22:36:02 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2008-02-06 22:36:02 +0000 |
| commit | f1ca5f19a2d6cb8db8bc89597ab649e00ea45dfb (patch) | |
| tree | da0ac89b865e1c386b44e8bed05f0862c0f89bc5 /qpid/java | |
| parent | 7dcc9e664a8a877fbd8adf657faa2eb5e6b41a5e (diff) | |
| download | qpid-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')
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()); } |
