diff options
| author | Rupert Smith <rupertlssmith@apache.org> | 2007-05-21 15:11:23 +0000 |
|---|---|---|
| committer | Rupert Smith <rupertlssmith@apache.org> | 2007-05-21 15:11:23 +0000 |
| commit | 625e140b590838df60d603f42d552a9275aae2ca (patch) | |
| tree | 6b0acb350f3ead0da52b0301bfee74101d6bb7d4 /java/client | |
| parent | 21d2df094acb8530b2fb902b5ed9a1d7db8463fd (diff) | |
| download | qpid-python-625e140b590838df60d603f42d552a9275aae2ca.tar.gz | |
Refactored exceptions to have single constructors and made room for wrapped causes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@540165 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client')
29 files changed, 100 insertions, 293 deletions
diff --git a/java/client/example/src/main/java/org/apache/qpid/example/publisher/FileMessageFactory.java b/java/client/example/src/main/java/org/apache/qpid/example/publisher/FileMessageFactory.java index f3b21e3c64..69960e54e5 100644 --- a/java/client/example/src/main/java/org/apache/qpid/example/publisher/FileMessageFactory.java +++ b/java/client/example/src/main/java/org/apache/qpid/example/publisher/FileMessageFactory.java @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -19,12 +19,13 @@ package org.apache.qpid.example.publisher; -import org.apache.qpid.example.shared.FileUtils; -import org.apache.qpid.example.shared.Statics; - import java.io.*; + import javax.jms.*; +import org.apache.qpid.example.shared.FileUtils; +import org.apache.qpid.example.shared.Statics; + public class FileMessageFactory { protected final Session _session; @@ -47,8 +48,7 @@ public class FileMessageFactory } catch (IOException e) { - MessageFactoryException mfe = new MessageFactoryException(e.toString()); - mfe.initCause(e); + MessageFactoryException mfe = new MessageFactoryException(e.toString(), e); throw mfe; } } @@ -64,7 +64,8 @@ public class FileMessageFactory { TextMessage msg = _session.createTextMessage(); msg.setText(_payload); - msg.setStringProperty(Statics.FILENAME_PROPERTY,new File(_filename).getName()); + msg.setStringProperty(Statics.FILENAME_PROPERTY, new File(_filename).getName()); + return msg; } @@ -79,6 +80,7 @@ public class FileMessageFactory { TextMessage msg = session.createTextMessage(); msg.setText(textMsg); + return msg; } @@ -116,6 +118,7 @@ public class FileMessageFactory catch (JMSException e) { e.printStackTrace(System.out); + return e.toString(); } } @@ -124,13 +127,13 @@ public class FileMessageFactory { try { - return m instanceof TextMessage && ((TextMessage) m).getText().equals(s); + return (m instanceof TextMessage) && ((TextMessage) m).getText().equals(s); } catch (JMSException e) { e.printStackTrace(System.out); + return false; } } } - diff --git a/java/client/example/src/main/java/org/apache/qpid/example/publisher/MessageFactoryException.java b/java/client/example/src/main/java/org/apache/qpid/example/publisher/MessageFactoryException.java index 0a4231c977..d709da6432 100644 --- a/java/client/example/src/main/java/org/apache/qpid/example/publisher/MessageFactoryException.java +++ b/java/client/example/src/main/java/org/apache/qpid/example/publisher/MessageFactoryException.java @@ -22,33 +22,8 @@ package org.apache.qpid.example.publisher; public class MessageFactoryException extends Exception { - - private int _errorCode; - - public MessageFactoryException(String message) - { - super(message); - } - public MessageFactoryException(String msg, Throwable t) { super(msg, t); } - - public MessageFactoryException(int errorCode, String msg, Throwable t) - { - super(msg + " [error code " + errorCode + ']', t); - _errorCode = errorCode; - } - - public MessageFactoryException(int errorCode, String msg) - { - super(msg + " [error code " + errorCode + ']'); - _errorCode = errorCode; - } - - public int getErrorCode() - { - return _errorCode; - } } diff --git a/java/client/example/src/main/java/org/apache/qpid/example/publisher/UndeliveredMessageException.java b/java/client/example/src/main/java/org/apache/qpid/example/publisher/UndeliveredMessageException.java index 399cbc9427..245008b68a 100644 --- a/java/client/example/src/main/java/org/apache/qpid/example/publisher/UndeliveredMessageException.java +++ b/java/client/example/src/main/java/org/apache/qpid/example/publisher/UndeliveredMessageException.java @@ -25,33 +25,8 @@ package org.apache.qpid.example.publisher; */ public class UndeliveredMessageException extends Exception { - - private int _errorCode; - - public UndeliveredMessageException(String message) - { - super(message); - } - public UndeliveredMessageException(String msg, Throwable t) { super(msg, t); } - - public UndeliveredMessageException(int errorCode, String msg, Throwable t) - { - super(msg + " [error code " + errorCode + ']', t); - _errorCode = errorCode; - } - - public UndeliveredMessageException(int errorCode, String msg) - { - super(msg + " [error code " + errorCode + ']'); - _errorCode = errorCode; - } - - public int getErrorCode() - { - return _errorCode; - } } diff --git a/java/client/example/src/main/java/org/apache/qpid/example/shared/ConnectionException.java b/java/client/example/src/main/java/org/apache/qpid/example/shared/ConnectionException.java index 6eb847ea9d..1a3d596a24 100644 --- a/java/client/example/src/main/java/org/apache/qpid/example/shared/ConnectionException.java +++ b/java/client/example/src/main/java/org/apache/qpid/example/shared/ConnectionException.java @@ -22,33 +22,8 @@ package org.apache.qpid.example.shared; public class ConnectionException extends Exception { - - private int _errorCode; - - public ConnectionException(String message) - { - super(message); - } - public ConnectionException(String msg, Throwable t) { super(msg, t); } - - public ConnectionException(int errorCode, String msg, Throwable t) - { - super(msg + " [error code " + errorCode + ']', t); - _errorCode = errorCode; - } - - public ConnectionException(int errorCode, String msg) - { - super(msg + " [error code " + errorCode + ']'); - _errorCode = errorCode; - } - - public int getErrorCode() - { - return _errorCode; - } } diff --git a/java/client/example/src/main/java/org/apache/qpid/example/shared/ContextException.java b/java/client/example/src/main/java/org/apache/qpid/example/shared/ContextException.java index bf805ab817..2987a9559b 100644 --- a/java/client/example/src/main/java/org/apache/qpid/example/shared/ContextException.java +++ b/java/client/example/src/main/java/org/apache/qpid/example/shared/ContextException.java @@ -22,33 +22,8 @@ package org.apache.qpid.example.shared; public class ContextException extends Exception { - - private int _errorCode; - - public ContextException(String message) - { - super(message); - } - public ContextException(String msg, Throwable t) { super(msg, t); } - - public ContextException(int errorCode, String msg, Throwable t) - { - super(msg + " [error code " + errorCode + ']', t); - _errorCode = errorCode; - } - - public ContextException(int errorCode, String msg) - { - super(msg + " [error code " + errorCode + ']'); - _errorCode = errorCode; - } - - public int getErrorCode() - { - return _errorCode; - } } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java b/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java index b6fbb6c6bf..6bae0166d1 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java @@ -35,8 +35,8 @@ import org.apache.qpid.protocol.AMQConstant; */ public class AMQAuthenticationException extends AMQException { - public AMQAuthenticationException(AMQConstant error, String msg) + public AMQAuthenticationException(AMQConstant error, String msg, Throwable cause) { - super(error, msg); + super(error, msg, cause); } } 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 347f5728e2..2c92cfb85e 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 @@ -65,6 +65,7 @@ import org.apache.qpid.jms.Connection; import org.apache.qpid.jms.ConnectionListener; import org.apache.qpid.jms.ConnectionURL; import org.apache.qpid.jms.FailoverPolicy; +import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.url.URLSyntaxException; public class AMQConnection extends Closeable implements Connection, QueueConnection, TopicConnection, Referenceable @@ -96,8 +97,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect private AMQProtocolHandler _protocolHandler; /** Maps from session id (Integer) to AMQSession instance */ - private final Map<Integer,AMQSession> _sessions = new LinkedHashMap<Integer,AMQSession>(); - + private final Map<Integer, AMQSession> _sessions = new LinkedHashMap<Integer, AMQSession>(); private String _clientName; @@ -225,6 +225,10 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect this(new AMQConnectionURL(connection), sslConfig); } + /** + * @todo Some horrible stuff going on here with setting exceptions to be non-null to detect if an exception + * was thrown during the connection! Intention not clear. Use a flag anyway, not exceptions... Will fix soon. + */ public AMQConnection(ConnectionURL connectionURL, SSLConfiguration sslConfig) throws AMQException { if (_logger.isInfoEnabled()) @@ -321,16 +325,20 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect message = "Unable to Connect"; } - AMQException e = new AMQConnectionFailureException(message); + AMQException e = new AMQConnectionFailureException(message, null); if (lastException != null) { if (lastException instanceof UnresolvedAddressException) { - e = new AMQUnresolvedAddressException(message, _failoverPolicy.getCurrentBrokerDetails().toString()); + e = new AMQUnresolvedAddressException(message, _failoverPolicy.getCurrentBrokerDetails().toString(), + null); } - e.initCause(lastException); + if (e.getCause() != null) + { + e.initCause(lastException); + } } throw e; @@ -509,7 +517,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect AMQSession session = new AMQSession(AMQConnection.this, channelId, transacted, acknowledgeMode, prefetchHigh, prefetchLow); - //_protocolHandler.addSessionByChannel(channelId, session); + // _protocolHandler.addSessionByChannel(channelId, session); registerSession(channelId, session); boolean success = false; @@ -590,7 +598,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect catch (AMQException e) { deregisterSession(channelId); - throw new AMQException("Error reopening channel " + channelId + " after failover: " + e, e); + throw new AMQException(null, "Error reopening channel " + channelId + " after failover: " + e, e); } } @@ -1047,7 +1055,6 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect */ public void exceptionReceived(Throwable cause) { - if (_logger.isDebugEnabled()) { _logger.debug("exceptionReceived done by:" + Thread.currentThread().getName(), cause); @@ -1060,11 +1067,18 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect } else { + AMQConstant code = null; + if (cause instanceof AMQException) { + code = ((AMQException) cause).getErrorCode(); + } + + if (code != null) + { je = - new JMSException(Integer.toString(((AMQException) cause).getErrorCode().getCode()), - "Exception thrown against " + toString() + ": " + cause); + new JMSException(Integer.toString(code.getCode()), "Exception thrown against " + toString() + ": " + + cause); } else { @@ -1135,7 +1149,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect for (Iterator it = sessions.iterator(); it.hasNext();) { AMQSession s = (AMQSession) it.next(); - //_protocolHandler.addSessionByChannel(s.getChannelId(), s); + // _protocolHandler.addSessionByChannel(s.getChannelId(), s); reopenChannel(s.getChannelId(), s.getDefaultPrefetchHigh(), s.getDefaultPrefetchLow(), s.getTransacted()); s.resubscribe(); } @@ -1223,7 +1237,6 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect _taskPool.execute(task); } - public AMQSession getSession(int channelId) { return _sessions.get(channelId); diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQNoConsumersException.java b/java/client/src/main/java/org/apache/qpid/client/AMQNoConsumersException.java index 54d5a0426f..08867b5de7 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQNoConsumersException.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQNoConsumersException.java @@ -33,8 +33,8 @@ import org.apache.qpid.protocol.AMQConstant; */ public class AMQNoConsumersException extends AMQUndeliveredException { - public AMQNoConsumersException(String msg, Object bounced) + public AMQNoConsumersException(String msg, Object bounced, Throwable cause) { - super(AMQConstant.NO_CONSUMERS, msg, bounced); + super(AMQConstant.NO_CONSUMERS, msg, bounced, cause); } } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQNoRouteException.java b/java/client/src/main/java/org/apache/qpid/client/AMQNoRouteException.java index a314101acf..42ed9c3df7 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQNoRouteException.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQNoRouteException.java @@ -33,8 +33,8 @@ import org.apache.qpid.protocol.AMQConstant; */ public class AMQNoRouteException extends AMQUndeliveredException { - public AMQNoRouteException(String msg, Object bounced) + public AMQNoRouteException(String msg, Object bounced, Throwable cause) { - super(AMQConstant.NO_ROUTE, msg, bounced); + super(AMQConstant.NO_ROUTE, msg, bounced, cause); } } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession.java index b7615c5b7b..8796a225ba 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQSession.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession.java @@ -781,7 +781,7 @@ public class AMQSession extends Closeable implements Session, QueueSession, Topi } else { - amqe = new AMQException("Closing session forcibly", e); + amqe = new AMQException(null, "Closing session forcibly", e); } _connection.deregisterSession(_channelId); closeProducersAndConsumers(amqe); @@ -1928,15 +1928,15 @@ public class AMQSession extends Closeable implements Session, QueueSession, Topi //@TODO should this be moved to an exception handler of sorts. Somewhere errors are converted to correct execeptions. if (errorCode == AMQConstant.NO_CONSUMERS) { - _connection.exceptionReceived(new AMQNoConsumersException("Error: " + reason, bouncedMessage)); + _connection.exceptionReceived(new AMQNoConsumersException("Error: " + reason, bouncedMessage, null)); } else if (errorCode == AMQConstant.NO_ROUTE) { - _connection.exceptionReceived(new AMQNoRouteException("Error: " + reason, bouncedMessage)); + _connection.exceptionReceived(new AMQNoRouteException("Error: " + reason, bouncedMessage, null)); } else { - _connection.exceptionReceived(new AMQUndeliveredException(errorCode, "Error: " + reason, bouncedMessage)); + _connection.exceptionReceived(new AMQUndeliveredException(errorCode, "Error: " + reason, bouncedMessage, null)); } } @@ -2118,7 +2118,7 @@ public class AMQSession extends Closeable implements Session, QueueSession, Topi } catch (JMSException e) //thrown by getMessageSelector { - throw new AMQException(e.getMessage(), e); + throw new AMQException(null, e.getMessage(), e); } } diff --git a/java/client/src/main/java/org/apache/qpid/client/failover/FailoverHandler.java b/java/client/src/main/java/org/apache/qpid/client/failover/FailoverHandler.java index 844ecbe743..00eac7f2af 100644 --- a/java/client/src/main/java/org/apache/qpid/client/failover/FailoverHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/failover/FailoverHandler.java @@ -93,11 +93,11 @@ public class FailoverHandler implements Runnable _amqProtocolHandler.setStateManager(existingStateManager); if (_host != null) { - _amqProtocolHandler.getConnection().exceptionReceived(new AMQDisconnectedException("Redirect was vetoed by client")); + _amqProtocolHandler.getConnection().exceptionReceived(new AMQDisconnectedException("Redirect was vetoed by client", null)); } else { - _amqProtocolHandler.getConnection().exceptionReceived(new AMQDisconnectedException("Failover was vetoed by client")); + _amqProtocolHandler.getConnection().exceptionReceived(new AMQDisconnectedException("Failover was vetoed by client", null)); } _amqProtocolHandler.getFailoverLatch().countDown(); _amqProtocolHandler.setFailoverLatch(null); @@ -124,7 +124,7 @@ public class FailoverHandler implements Runnable _amqProtocolHandler.setStateManager(existingStateManager); _amqProtocolHandler.getConnection().exceptionReceived( new AMQDisconnectedException("Server closed connection and no failover " + - "was successful")); + "was successful", null)); } else { diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java index f62baf2c3a..fbf4d96647 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseMethodHandler.java @@ -70,27 +70,27 @@ public class ChannelCloseMethodHandler implements StateAwareMethodListener } if (errorCode == AMQConstant.NO_CONSUMERS) { - throw new AMQNoConsumersException("Error: " + reason, null); + throw new AMQNoConsumersException("Error: " + reason, null, null); } else if (errorCode == AMQConstant.NO_ROUTE) { - throw new AMQNoRouteException("Error: " + reason, null); + throw new AMQNoRouteException("Error: " + reason, null, null); } else if (errorCode == AMQConstant.INVALID_ARGUMENT) { _logger.debug("Broker responded with Invalid Argument."); - throw new org.apache.qpid.AMQInvalidArgumentException(String.valueOf(reason)); + throw new org.apache.qpid.AMQInvalidArgumentException(String.valueOf(reason), null); } else if (errorCode == AMQConstant.INVALID_ROUTING_KEY) { _logger.debug("Broker responded with Invalid Routing Key."); - throw new AMQInvalidRoutingKeyException(String.valueOf(reason)); + throw new AMQInvalidRoutingKeyException(String.valueOf(reason), null); } else { - throw new AMQChannelClosedException(errorCode, "Error: " + reason); + throw new AMQChannelClosedException(errorCode, "Error: " + reason, null); } } diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java index 9c8e9188ec..d8153f9c97 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java @@ -77,14 +77,14 @@ public class ConnectionCloseMethodHandler implements StateAwareMethodListener //todo this is a bit of a fudge (could be conssidered such as each new connection needs a new state manager or at least a fresh state. stateManager.changeState(AMQState.CONNECTION_NOT_STARTED); - throw new AMQAuthenticationException(errorCode, reason == null ? null : reason.toString()); + throw new AMQAuthenticationException(errorCode, reason == null ? null : reason.toString(), null); } else { _logger.info("Connection close received with error code " + errorCode); - throw new AMQConnectionClosedException(errorCode, "Error: " + reason); + throw new AMQConnectionClosedException(errorCode, "Error: " + reason, null); } } } diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java index ab6acffeaf..b7776705fe 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionSecureMethodHandler.java @@ -46,7 +46,7 @@ public class ConnectionSecureMethodHandler implements StateAwareMethodListener SaslClient client = protocolSession.getSaslClient(); if (client == null) { - throw new AMQException("No SASL client set up - cannot proceed with authentication"); + throw new AMQException(null, "No SASL client set up - cannot proceed with authentication", null); } ConnectionSecureBody body = (ConnectionSecureBody) evt.getMethod(); @@ -65,7 +65,7 @@ public class ConnectionSecureMethodHandler implements StateAwareMethodListener } catch (SaslException e) { - throw new AMQException("Error processing SASL challenge: " + e, e); + throw new AMQException(null, "Error processing SASL challenge: " + e, e); } diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java index 28c0c4f3c9..157128aebc 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java @@ -92,7 +92,7 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener if (body.mechanisms == null) { - throw new AMQException("mechanism not specified in ConnectionStart method frame"); + throw new AMQException(null, "mechanism not specified in ConnectionStart method frame", null); } else { @@ -102,7 +102,7 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener if (mechanism == null) { - throw new AMQException("No supported security mechanism found, passed: " + new String(body.mechanisms)); + throw new AMQException(null, "No supported security mechanism found, passed: " + new String(body.mechanisms), null); } byte[] saslResponse; @@ -113,10 +113,9 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener createCallbackHandler(mechanism, protocolSession)); if (sc == null) { - throw new AMQException( - "Client SASL configuration error: no SaslClient could be created for mechanism " + mechanism + throw new AMQException(null, "Client SASL configuration error: no SaslClient could be created for mechanism " + mechanism + ". Please ensure all factories are registered. See DynamicSaslRegistrar for " - + " details of how to register non-standard SASL client providers."); + + " details of how to register non-standard SASL client providers.", null); } protocolSession.setSaslClient(sc); @@ -125,12 +124,12 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener catch (SaslException e) { protocolSession.setSaslClient(null); - throw new AMQException("Unable to create SASL client: " + e, e); + throw new AMQException(null, "Unable to create SASL client: " + e, e); } if (body.locales == null) { - throw new AMQException("Locales is not defined in Connection Start method"); + throw new AMQException(null, "Locales is not defined in Connection Start method", null); } final String locales = new String(body.locales, "utf8"); @@ -142,7 +141,7 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener } else { - throw new AMQException("No locales sent from server, passed: " + locales); + throw new AMQException(null, "No locales sent from server, passed: " + locales, null); } stateManager.changeState(AMQState.CONNECTION_NOT_TUNED); @@ -170,7 +169,7 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener } catch (UnsupportedEncodingException e) { - throw new AMQException("Unable to decode data: " + e, e); + throw new AMQException(null, "Unable to decode data: " + e, e); } } else @@ -235,7 +234,7 @@ public class ConnectionStartMethodHandler implements StateAwareMethodListener } catch (Exception e) { - throw new AMQException("Unable to create callback handler: " + e, e); + throw new AMQException(null, "Unable to create callback handler: " + e, e); } } } diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java index 63b16ebbd6..ae64ac987e 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java @@ -67,7 +67,7 @@ public class JMSMapMessage extends AbstractBytesTypedMessage implements javax.jm } catch (JMSException je) { - throw new AMQException("Error populating MapMessage from ByteBuffer", je); + throw new AMQException(null, "Error populating MapMessage from ByteBuffer", je); } diff --git a/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java b/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java index c2015f9e7c..02a8544b52 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java @@ -99,7 +99,7 @@ public class MessageFactoryRegistry MessageFactory mf = _mimeShortStringToFactoryMap.get(contentTypeShortString); if (mf == null) { - throw new AMQException("Unsupport MIME type of " + properties.getContentTypeAsString()); + throw new AMQException(null, "Unsupport MIME type of " + properties.getContentTypeAsString(), null); } else { @@ -117,7 +117,7 @@ public class MessageFactoryRegistry MessageFactory mf = _mimeStringToFactoryMap.get(mimeType); if (mf == null) { - throw new AMQException("Unsupport MIME type of " + mimeType); + throw new AMQException(null, "Unsupport MIME type of " + mimeType, null); } else { diff --git a/java/client/src/main/java/org/apache/qpid/client/message/UnexpectedBodyReceivedException.java b/java/client/src/main/java/org/apache/qpid/client/message/UnexpectedBodyReceivedException.java deleted file mode 100644 index 1f61a661d4..0000000000 --- a/java/client/src/main/java/org/apache/qpid/client/message/UnexpectedBodyReceivedException.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.client.message; - -import org.apache.qpid.AMQException; -import org.apache.qpid.protocol.AMQConstant; - -/** - * @todo Not used! Delete! - */ -public class UnexpectedBodyReceivedException extends AMQException -{ - public UnexpectedBodyReceivedException(String msg, Throwable t) - { - super(msg, t); - } - - public UnexpectedBodyReceivedException(String msg) - { - super(msg); - } - - public UnexpectedBodyReceivedException(AMQConstant errorCode, String msg) - { - super(errorCode, msg); - } -} diff --git a/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java b/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java index addef94215..5687ad2658 100644 --- a/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java @@ -195,7 +195,7 @@ public class AMQProtocolHandler extends IoHandlerAdapter _logger.info("sessionClose() not allowed to failover"); _connection.exceptionReceived( new AMQDisconnectedException("Server closed connection and reconnection " + - "not permitted.")); + "not permitted.", null)); } else { @@ -263,7 +263,7 @@ public class AMQProtocolHandler extends IoHandlerAdapter _logger.error("Exception caught by protocol handler: " + cause, cause); // we notify the state manager of the error in case we have any clients waiting on a state // change. Those "waiters" will be interrupted and can handle the exception - AMQException amqe = new AMQException("Protocol handler error: " + cause, cause); + AMQException amqe = new AMQException(null, "Protocol handler error: " + cause, cause); propagateExceptionToWaiters(amqe); _connection.exceptionReceived(cause); } @@ -334,7 +334,7 @@ public class AMQProtocolHandler extends IoHandlerAdapter } if (!wasAnyoneInterested) { - throw new AMQException("AMQMethodEvent " + evt + " was not processed by any listener. Listeners:" + _frameListeners); + throw new AMQException(null, "AMQMethodEvent " + evt + " was not processed by any listener. Listeners:" + _frameListeners, null); } } catch (AMQException e) diff --git a/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java b/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java index 386aae4ad1..f691637cdc 100644 --- a/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java +++ b/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java @@ -238,13 +238,12 @@ public class AMQProtocolSession implements AMQVersionAwareProtocolSession UnprocessedMessage msg = (UnprocessedMessage) _channelId2UnprocessedMsgMap.get(channelId); if (msg == null) { - throw new AMQException("Error: received content header without having received a BasicDeliver frame first"); + throw new AMQException(null, "Error: received content header without having received a BasicDeliver frame first", null); } if (msg.getContentHeader() != null) { - throw new AMQException( - "Error: received duplicate content header or did not receive correct number of content body frames"); + throw new AMQException(null, "Error: received duplicate content header or did not receive correct number of content body frames", null); } msg.setContentHeader(contentHeader); @@ -259,13 +258,13 @@ public class AMQProtocolSession implements AMQVersionAwareProtocolSession UnprocessedMessage msg = (UnprocessedMessage) _channelId2UnprocessedMsgMap.get(channelId); if (msg == null) { - throw new AMQException("Error: received content body without having received a JMSDeliver frame first"); + throw new AMQException(null, "Error: received content body without having received a JMSDeliver frame first", null); } if (msg.getContentHeader() == null) { _channelId2UnprocessedMsgMap.remove(channelId); - throw new AMQException("Error: received content body without having received a ContentHeader frame first"); + throw new AMQException(null, "Error: received content body without having received a ContentHeader frame first", null); } /*try @@ -365,11 +364,11 @@ public class AMQProtocolSession implements AMQVersionAwareProtocolSession final AMQSession session = getSession(channelId); try { - session.closed(new AMQException(code, text)); + session.closed(new AMQException(code, text, null)); } catch (JMSException e) { - throw new AMQException("JMSException received while closing session", e); + throw new AMQException(null, "JMSException received while closing session", e); } return true; diff --git a/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java b/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java index 85f98eab69..4691d48f29 100644 --- a/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java +++ b/java/client/src/main/java/org/apache/qpid/client/protocol/BlockingMethodFrameListener.java @@ -109,7 +109,7 @@ public abstract class BlockingMethodFrameListener implements AMQMethodListener _lock.wait(timeout); if (!_ready) { - _error = new AMQTimeoutException("Server did not respond in a timely fashion"); + _error = new AMQTimeoutException("Server did not respond in a timely fashion", null); _ready = true; } } @@ -138,7 +138,7 @@ public abstract class BlockingMethodFrameListener implements AMQMethodListener } else { - throw new AMQException("Woken up due to " + _error.getClass(), _error); + throw new AMQException(null, "Woken up due to " + _error.getClass(), _error); } } diff --git a/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java b/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java index 0f43115841..c995bf40da 100644 --- a/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java +++ b/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java @@ -248,7 +248,7 @@ public class AMQStateManager implements AMQMethodListener if (_currentState != s) { _logger.warn("State not achieved within permitted time. Current state " + _currentState + ", desired state: " + s); - throw new AMQException("State not achieved within permitted time. Current state " + _currentState + ", desired state: " + s); + throw new AMQException(null, "State not achieved within permitted time. Current state " + _currentState + ", desired state: " + s, null); } } diff --git a/java/client/src/main/java/org/apache/qpid/client/state/IllegalStateTransitionException.java b/java/client/src/main/java/org/apache/qpid/client/state/IllegalStateTransitionException.java deleted file mode 100644 index 41fa1ba704..0000000000 --- a/java/client/src/main/java/org/apache/qpid/client/state/IllegalStateTransitionException.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.client.state; - -import org.apache.qpid.AMQException; - -/** - * @todo Not an AMQP exception as no status code. - * - * @todo Not used! Delete. - */ -public class IllegalStateTransitionException extends AMQException -{ - private AMQState _originalState; - - private Class _frame; - - public IllegalStateTransitionException(AMQState originalState, Class frame) - { - super("No valid state transition defined for receiving frame " + frame + - " from state " + originalState); - _originalState = originalState; - _frame = frame; - } - - public AMQState getOriginalState() - { - return _originalState; - } - - public Class getFrameClass() - { - return _frame; - } -} diff --git a/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java b/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java index 8a0b5e7d84..1fd657c5fb 100644 --- a/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java +++ b/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java @@ -76,7 +76,7 @@ public class StateWaiter implements StateListener } else { - throw new AMQException("Error: " + _throwable, _throwable); // FIXME: this will wrap FailoverException in throwable which will prevent it being caught. + throw new AMQException(null, "Error: " + _throwable, _throwable); // FIXME: this will wrap FailoverException in throwable which will prevent it being caught. } } } diff --git a/java/client/src/main/java/org/apache/qpid/client/transport/AMQNoTransportForProtocolException.java b/java/client/src/main/java/org/apache/qpid/client/transport/AMQNoTransportForProtocolException.java index da16baaad9..6e47e2ce28 100644 --- a/java/client/src/main/java/org/apache/qpid/client/transport/AMQNoTransportForProtocolException.java +++ b/java/client/src/main/java/org/apache/qpid/client/transport/AMQNoTransportForProtocolException.java @@ -31,19 +31,16 @@ import org.apache.qpid.jms.BrokerDetails; * <tr><th> Responsibilities <th> Collaborations * <tr><td> Represent absence of a transport medium. * </table> + * + * @todo Error code never used. This is not an AMQException. */ public class AMQNoTransportForProtocolException extends AMQTransportConnectionException { BrokerDetails _details; - public AMQNoTransportForProtocolException(BrokerDetails details) - { - this(details, "No Transport exists for specified broker protocol"); - } - - public AMQNoTransportForProtocolException(BrokerDetails details, String message) + public AMQNoTransportForProtocolException(BrokerDetails details, String message, Throwable cause) { - super(null, message, null); + super(null, message, cause); _details = details; } diff --git a/java/client/src/main/java/org/apache/qpid/client/transport/AMQTransportConnectionException.java b/java/client/src/main/java/org/apache/qpid/client/transport/AMQTransportConnectionException.java index 24b4e03b39..6bef6216bd 100644 --- a/java/client/src/main/java/org/apache/qpid/client/transport/AMQTransportConnectionException.java +++ b/java/client/src/main/java/org/apache/qpid/client/transport/AMQTransportConnectionException.java @@ -31,6 +31,8 @@ import org.apache.qpid.protocol.AMQConstant; * <tr><th> Responsibilities <th> Collaborations * <tr><td> Represent failure to connect through the transport medium. * </table> + * + * @todo Error code never used. This is not an AMQException. */ public class AMQTransportConnectionException extends AMQException { diff --git a/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java b/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java index 0bc83e9804..b9193ce14e 100644 --- a/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java +++ b/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java @@ -67,7 +67,7 @@ public class TransportConnection if (transport == -1) { - throw new AMQNoTransportForProtocolException(details); + throw new AMQNoTransportForProtocolException(details, null, null); } if (transport == _currentInstance) diff --git a/java/client/src/main/java/org/apache/qpid/client/vmbroker/AMQVMBrokerCreationException.java b/java/client/src/main/java/org/apache/qpid/client/vmbroker/AMQVMBrokerCreationException.java index 1791e7ede3..1818132be0 100644 --- a/java/client/src/main/java/org/apache/qpid/client/vmbroker/AMQVMBrokerCreationException.java +++ b/java/client/src/main/java/org/apache/qpid/client/vmbroker/AMQVMBrokerCreationException.java @@ -30,21 +30,13 @@ import org.apache.qpid.protocol.AMQConstant; * <tr><th> Responsibilities <th> Collaborations * <tr><td> Represent failure to create an in VM broker. * </table> + * + * @todo Error code never used. This is not an AMQException. */ public class AMQVMBrokerCreationException extends AMQTransportConnectionException { private int _port; - /** - * @param port - * - * @deprecated - */ - public AMQVMBrokerCreationException(int port) - { - this(null, port, "Unable to create vm broker", null); - } - public AMQVMBrokerCreationException(AMQConstant errorCode, int port, String message, Throwable cause) { super(errorCode, message, cause); diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/client/channelclose/ChannelCloseMethodHandlerNoCloseOk.java b/java/client/src/test/java/org/apache/qpid/test/unit/client/channelclose/ChannelCloseMethodHandlerNoCloseOk.java index 5e45d1d537..4a114321aa 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/client/channelclose/ChannelCloseMethodHandlerNoCloseOk.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/client/channelclose/ChannelCloseMethodHandlerNoCloseOk.java @@ -67,27 +67,27 @@ public class ChannelCloseMethodHandlerNoCloseOk implements StateAwareMethodListe _logger.error("Channel close received with errorCode " + errorCode + ", and reason " + reason); if (errorCode == AMQConstant.NO_CONSUMERS) { - throw new AMQNoConsumersException("Error: " + reason, null); + throw new AMQNoConsumersException("Error: " + reason, null, null); } else if (errorCode == AMQConstant.NO_ROUTE) { - throw new AMQNoRouteException("Error: " + reason, null); + throw new AMQNoRouteException("Error: " + reason, null, null); } else if (errorCode == AMQConstant.INVALID_ARGUMENT) { _logger.debug("Broker responded with Invalid Argument."); - throw new AMQInvalidArgumentException(String.valueOf(reason)); + throw new AMQInvalidArgumentException(String.valueOf(reason), null); } else if (errorCode == AMQConstant.INVALID_ROUTING_KEY) { _logger.debug("Broker responded with Invalid Routing Key."); - throw new AMQInvalidRoutingKeyException(String.valueOf(reason)); + throw new AMQInvalidRoutingKeyException(String.valueOf(reason), null); } else { - throw new AMQChannelClosedException(errorCode, "Error: " + reason); + throw new AMQChannelClosedException(errorCode, "Error: " + reason, null); } } |
