Search

Chapter 10. The Qpid Messaging API

download PDF

10.1. Handling Exceptions

10.1.1. Messaging Exceptions Reference

In the asynchronous and decoupled environment of a messaging application, exceptions are thrown for both local error conditions and error conditions or failures that occur remotely. Developing a robust application requires that you anticipate and handle a wide range of possible exceptions, some of which are not immediately obvious from the context of the method itself.

10.1.2. C++ Messaging Exceptions Class Hierarchy

The following are the exceptions thrown by the C++ API, and the circumstances under which they are thrown. The source code for the exceptions can be viewed in the Apache Qpid svn repository.
MessagingException
The base class for Messaging exceptions.
InvalidOptionString : public MessagingException
Thrown when the syntax of the option string used to configure a connection is not valid.
KeyError : public MessagingException
Thrown to indicate a failed lookup of some local object. For example when attempting to retrieve a session, sender or receiver by name.
LinkError : public MessagingException
Base class for exceptions thrown to indicate a failed lookup of some local object.
AddressError : public LinkError
Thrown to indicate a failed lookup of some local object. For example when attempting to retrieve a session, sender or receiver by name.
ResolutionError : public AddressError
Thrown when a syntactically correct address cannot be resolved or used.
AssertionFailed : public ResolutionError
Thrown when creating a sender or receiver for an address for which some asserted property of the node is not matched.
NotFound : public ResolutionError
Thrown on attempts to create a sender or receiver to a non-existent node.
MalformedAddress : public AddressError
Thrown when an address string with invalid syntax is used.
ReceiverError : public LinkError
FetchError : public ReceiverError
NoMessageAvailable : public FetchError
Thrown by Receiver::fetch(), Receiver::get() and Session::nextReceiver() to indicate that there no message was available before the timeout specified.
SenderError : public LinkError
SendError : public SenderError
TargetCapacityExceeded : public SendError
Thrown to indicate that the sender attempted to send a message that would result in the target node on the peer exceeding a preconfigured capacity.
SessionError : public MessagingException
TransactionError : public SessionError
TransactionAborted : public TransactionError
Thrown on Session::commit() if reconnection results in the transaction being automatically aborted.
TransactionUnknown : public TransactionError
The outcome of the transaction on the broker (commit or roll-back) is not known. This occurs when the connection fails after the commit was sent, but before a response is received.
UnauthorizedAccess : public SessionError
Thrown to indicate that the application attempted to do something for which it was not authorized by its peer.
UnauthorizedAccess : public SessionError
ConnectionError : public MessagingException
TransportFailure : public MessagingException
Thrown to indicate loss of underlying connection. When auto-reconnect is used this will be caught by the library and used to trigger reconnection attempts. If reconnection fails (according to whatever settings have been configured), then an instance of this class will be thrown to signal that.

10.1.3. Connection Exceptions

Note: Unless fully qualified, all exceptions listed are in the qpid::messaging namespace.
Connection::Connection(const std::string&, const qpid::types::Variant::Map&)
MessagingException if any of the options in the supplied map are not recognised.
qpid::types::InvalidConversion if any of the option values are of the wrong type.
Connection::Connection(const std::string& url, const std::string& options)
MessagingException if any of the options in the supplied map are not recognised.
qpid::types::InvalidConversion if any of the option values are of the wrong type.
InvalidOptionString if the format of the option string is invalid.
Connection::setOption(const std::string& name, const qpid::types::Variant& value)
MessagingException if the named option is not recognised.
qpid::types::InvalidConversion if the option value is of the wrong type.
Connection::open()
qpid::Url::Invalid if the url is not valid (this may be the url supplied on construction or any of the reconnect_urls supplied via options).
TransportFailure if a connection could not be established.
ConnectionError for any other failure, including where the broker sends a connection.close control before the AMQP 0-10 defined connection handshake completes.
qpid::types::InvalidConversion if the broker sends an improperly encoded value for the 'known-host' field of the connection.open-ok control as defined by AMQP 0-10 specification.
Connection::isOpen()
Does not throw exceptions.
Connection::close()
TargetCapacityExceeded if any of the sessions established for the connection have attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if any of the sessions established for the connection have attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection just before the client does).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session while the close is in progress).
TransportFailure if a connection was lost while trying to perform the close 'handshake' with the broker.
Connection::createTransactionalSession(const std::string& name)
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected which could happen on enabling transactions for the session (e.g. if the broker in question did not support transactions).
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of the session before it becomes active).
TransportFailure if the connection was lost (and if automatic reconnect is enabled could not be re-established).
qpid::Url::Invalid if reconnect is enabled and a url in the reconnect_urls option list is invalid.
qpid::types::InvalidConversion if the broker were to send an improperly encoded value for the 'known-host' field of the connection.open-ok control as defined by AMQP 0-10 specification.
Connection::createSession(const std::string&)
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of the session before it becomes active).
TransportFailure if the connection was lost (and if automatic reconnect is enabled could not be re-established).
qpid::Url::Invalid if reconnect is enabled and a url in the reconnect_urls option list is invalid.
qpid::types::InvalidConversion if the broker were to send an improperly encoded value for the 'known-host' field of the connection.open-ok control as defined by AMQP 0-10 specification.
Connection::getSession(const std::string&)
KeyError if no session for the specified name exists.
Connection::getAuthenticatedUsername()
Does not throw any exception.

10.1.4. Session Exceptions

Note: Unless fully qualified, all exceptions listed are in the qpid::messaging namespace.
Session::close()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::commit()
TransactionAborted if the original AMQP 0-10 session is lost, e.g. due to failover, forcing an automatic rollback.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::rollback()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::acknowledge(bool)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::acknowledge(Message&, bool)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::acknowledgeUpTo(Message&, bool)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::reject(Message&)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
Throws SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::release(Message&)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::sync(bool)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::getReceivable()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::getUnsettledAcks()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::nextReceiver(Receiver&, Duration)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::nextReceiver(Duration)
Receiver::NoMessageAvailable if no message became available in time.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
Throws SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::createSender(const Address&)
ResolutionError if there is an error in resolving the address.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::createSender(const std::string&)
ResolutionError if there is an error in resolving the address.
MalformedAddress if the syntax of the address string is not valid.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::createReceiver(const Address&)
ResolutionError if there is an error in resolving the address.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::createReceiver(const std::string&)
ResolutionError if there is an error in resolving the address.
MalformedAddress if the syntax of the address string is not valid.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Session::getSender(const std::string&)
KeyError if there is no sender for the specified name.
Session::getReceiver(const std::string&)
KeyError if there is no receiver for the specified name.
Session::checkError()
qpid::messaging::SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
qpid::messaging::ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
qpid::messaging::MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
Session::getConnection()
Does not throw exceptions.
Session::hasError()
Does not throw exceptions.

10.1.5. Sender Exceptions

Note: Unless fully qualified, all exceptions listed are in the qpid::messaging namespace.
Sender::send(const Message& message, bool)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Sender::close()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Sender::setCapacity(uint32_t)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Sender::getUnsettled()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Sender::getAvailable()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Sender::getCapacity()
Does not throw exceptions.
Sender::getName()
Does not throw exceptions.
Sender::getSession()
Does not throw exceptions.

10.1.6. Receiver Exceptions

Note: Unless fully qualified, all exceptions listed are in the qpid::messaging namespace.
Receiver::get(Message& message, Duration timeout=Duration::FOREVER)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::Message get(Duration timeout=Duration::FOREVER)
NoMessageAvailable if there is no message to give after waiting for the specified timeout, or if the Receiver is closed, in which case isClose() will be true.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::fetch(Message& message, Duration timeout=Duration::FOREVER)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::fetch(Duration timeout=Duration::FOREVER)
NoMessageAvailable if there is no message to give after waiting for the specified timeout, or if the Receiver is closed, in which case isClose() will be true.
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::setCapacity(uint32_t)
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::getAvailable()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::getUnsettled()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::close()
TargetCapacityExceeded if the session has attempted to send a message that would result in a queue exceeding configured limits.
UnauthorizedAccess if the session has attempted to perform an operation for which it has not been granted permission.
SessionError if an execution.exception command, as defined in AMQP 0-10, is received from the broker to which the client is connected.
ConnectionError if the broker to which the client is connected sends a connection.close control (i.e. if broker initiates closing of an active connection).
MessagingException if the broker to which the client is connected sends a session.detached control (i.e. if broker initiates closing of an active session).
TransportFailure if a connection was lost (and if automatic reconnect is enabled could not be re-established).
Receiver::isClosed()
Does not throw exceptions.
Receiver::getCapacity()
Does not throw exceptions.
Receiver::getName()
Does not throw exceptions.
Receiver::getSession()
Does not throw exceptions.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.