diff options
Diffstat (limited to 'java/client')
9 files changed, 26 insertions, 17 deletions
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 52dcfcfbfb..0bc474f6e6 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 @@ -21,10 +21,11 @@ package org.apache.qpid.client; import org.apache.qpid.AMQException; +import org.apache.qpid.protocol.AMQConstant; public class AMQAuthenticationException extends AMQException { - public AMQAuthenticationException(int error, String msg) + public AMQAuthenticationException(AMQConstant error, String msg) { super(error,msg); } 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 cb2533c2bb..ebaa22ce44 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 @@ -966,7 +966,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect { if (cause instanceof AMQException) { - je = new JMSException(Integer.toString(((AMQException) cause).getErrorCode()), "Exception thrown against " + toString() + ": " + cause); + je = new JMSException(Integer.toString(((AMQException) cause).getErrorCode().getCode()), "Exception thrown against " + toString() + ": " + cause); } else { 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 277e3f7eaf..bec2958cb9 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 @@ -28,7 +28,7 @@ public class AMQNoConsumersException extends AMQUndeliveredException { public AMQNoConsumersException(String msg, Object bounced) { - super(AMQConstant.NO_CONSUMERS.getCode(), msg, bounced); + super(AMQConstant.NO_CONSUMERS, msg, bounced); } 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 0e84ad75f2..6ea8413446 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 @@ -28,7 +28,7 @@ public class AMQNoRouteException extends AMQUndeliveredException { public AMQNoRouteException(String msg, Object bounced) { - super(AMQConstant.NO_ROUTE.getCode(), msg, bounced); + super(AMQConstant.NO_ROUTE, msg, bounced); } 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 d011d02a91..6ef187286b 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 @@ -24,6 +24,7 @@ import org.apache.log4j.Logger; import org.apache.qpid.AMQChannelClosedException; import org.apache.qpid.AMQException; import org.apache.qpid.AMQInvalidSelectorException; +import org.apache.qpid.AMQInvalidRoutingKeyException; import org.apache.qpid.client.AMQNoConsumersException; import org.apache.qpid.client.AMQNoRouteException; import org.apache.qpid.client.protocol.AMQProtocolSession; @@ -52,34 +53,39 @@ public class ChannelCloseMethodHandler implements StateAwareMethodListener _logger.debug("ChannelClose method received"); ChannelCloseBody method = (ChannelCloseBody) evt.getMethod(); - int errorCode = method.replyCode; + AMQConstant errorCode = AMQConstant.getConstant(method.replyCode); AMQShortString reason = method.replyText; if (_logger.isDebugEnabled()) { _logger.debug("Channel close reply code: " + errorCode + ", reason: " + reason); } - // TODO: Be aware of possible changes to parameter order as versions change. AMQFrame frame = ChannelCloseOkBody.createAMQFrame(evt.getChannelId(), method.getMajor(), method.getMinor()); protocolSession.writeFrame(frame); - if (errorCode != AMQConstant.REPLY_SUCCESS.getCode()) + if (errorCode != AMQConstant.REPLY_SUCCESS) { _logger.error("Channel close received with errorCode " + errorCode + ", and reason " + reason); - if (errorCode == AMQConstant.NO_CONSUMERS.getCode()) + if (errorCode == AMQConstant.NO_CONSUMERS) { throw new AMQNoConsumersException("Error: " + reason, null); } - else if (errorCode == AMQConstant.NO_ROUTE.getCode()) + else if (errorCode == AMQConstant.NO_ROUTE) { throw new AMQNoRouteException("Error: " + reason, null); } - else if (errorCode == AMQConstant.INVALID_SELECTOR.getCode()) + else if (errorCode == AMQConstant.INVALID_SELECTOR) { - _logger.info("Broker responded with Invalid Selector."); + _logger.debug("Broker responded with Invalid Selector."); throw new AMQInvalidSelectorException(String.valueOf(reason)); } + else if (errorCode == AMQConstant.INVALID_ROUTING_KEY) + { + _logger.debug("Broker responded with Invalid Routing Key."); + + throw new AMQInvalidRoutingKeyException(String.valueOf(reason)); + } else { throw new AMQChannelClosedException(errorCode, "Error: " + reason); 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 f928ab56eb..57d987712a 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 @@ -57,16 +57,16 @@ public class ConnectionCloseMethodHandler implements StateAwareMethodListener // does it matter //stateManager.changeState(AMQState.CONNECTION_CLOSING); - int errorCode = method.replyCode; + AMQConstant errorCode = AMQConstant.getConstant(method.replyCode); AMQShortString reason = method.replyText; // TODO: check whether channel id of zero is appropriate // Be aware of possible changes to parameter order as versions change. protocolSession.writeFrame(ConnectionCloseOkBody.createAMQFrame((short)0, method.getMajor(), method.getMinor())); - if (errorCode != 200) + if (errorCode != AMQConstant.REPLY_SUCCESS) { - if(errorCode == AMQConstant.NOT_ALLOWED.getCode()) + if(errorCode == AMQConstant.NOT_ALLOWED) { _logger.info("Authentication Error:"+Thread.currentThread().getName()); 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 index 51a9aa7226..21526ac6d2 100644 --- 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 @@ -22,6 +22,7 @@ package org.apache.qpid.client.message; import org.apache.log4j.Logger; import org.apache.qpid.AMQException; +import org.apache.qpid.protocol.AMQConstant; public class UnexpectedBodyReceivedException extends AMQException { @@ -36,7 +37,7 @@ public class UnexpectedBodyReceivedException extends AMQException super(logger, msg); } - public UnexpectedBodyReceivedException(Logger logger, int errorCode, String msg) + public UnexpectedBodyReceivedException(Logger logger, AMQConstant errorCode, String msg) { super(logger, errorCode, msg); } 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 d4d700966a..055109d3be 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 @@ -48,6 +48,7 @@ import org.apache.qpid.framing.ProtocolInitiation; import org.apache.qpid.framing.ProtocolVersionList; import org.apache.qpid.framing.VersionSpecificRegistry; import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; +import org.apache.qpid.protocol.AMQConstant; /** * Wrapper for protocol session that provides type-safe access to session attributes. @@ -389,7 +390,7 @@ public class AMQProtocolSession implements ProtocolVersionList, AMQVersionAwareP * initiated the channel close, false if the channel close is just the server * responding to the client's earlier request to close the channel. */ - public boolean channelClosed(int channelId, int code, String text) throws AMQException + public boolean channelClosed(int channelId, AMQConstant code, String text) throws AMQException { final Integer chId = channelId; // if this is not a response to an earlier request to close the channel diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java index 9b214e88f9..f957df2c34 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java @@ -63,7 +63,7 @@ public class DurableSubscriptionTest extends TestCase Session session2 = con.createSession(false, AMQSession.NO_ACKNOWLEDGE); TopicSubscriber consumer2 = session2.createDurableSubscriber(topic, "MySubscription"); - con.start(); + con.start(); producer.send(session1.createTextMessage("A")); |