Class AutorecoveringChannel
- java.lang.Object
-
- com.rabbitmq.client.impl.recovery.AutorecoveringChannel
-
- All Implemented Interfaces:
Channel
,Recoverable
,RecoverableChannel
,ShutdownNotifier
public class AutorecoveringChannel extends Object implements RecoverableChannel
Channel
implementation that is automatically recovered during connection recovery.- Since:
- 3.3.0
-
-
Constructor Summary
Constructors Constructor Description AutorecoveringChannel(AutorecoveringConnection connection, RecoveryAwareChannelN delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
abort()
Abort this channel with theAMQP.REPLY_SUCCESS
close code and message 'OK'.void
abort(int closeCode, String closeMessage)
Abort this channel.void
addConfirmListener(ConfirmListener listener)
Add aConfirmListener
.void
addFlowListener(FlowListener listener)
Deprecated.void
addRecoveryListener(RecoveryListener listener)
Registers a connection recovery callback.void
addReturnListener(ReturnListener listener)
Add aReturnListener
.void
addShutdownListener(ShutdownListener listener)
Add shutdown listener.void
asyncRpc(Method method)
Asynchronously send a method over this channel.void
automaticallyRecover(AutorecoveringConnection connection, Connection connDelegate)
void
basicAck(long deliveryTag, boolean multiple)
Acknowledge one or several received messages.void
basicCancel(String consumerTag)
Cancel a consumer.String
basicConsume(String queue, boolean autoAck, Consumer callback)
Start a non-nolocal, non-exclusive consumer, with a server-generated consumerTag.String
basicConsume(String queue, boolean autoAck, String consumerTag, boolean noLocal, boolean exclusive, Map<String,Object> arguments, Consumer callback)
Start a consumer.String
basicConsume(String queue, boolean autoAck, String consumerTag, Consumer callback)
Start a non-nolocal, non-exclusive consumer.String
basicConsume(String queue, boolean autoAck, Map<String,Object> arguments, Consumer callback)
Start a non-nolocal, non-exclusive consumer, with a server-generated consumerTag and specified arguments.String
basicConsume(String queue, Consumer callback)
Start a non-nolocal, non-exclusive consumer, with explicit acknowledgement and a server-generated consumerTag.GetResponse
basicGet(String queue, boolean autoAck)
Retrieve a message from a queue usingAMQP.Basic.Get
void
basicNack(long deliveryTag, boolean multiple, boolean requeue)
Reject one or several received messages.void
basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, AMQP.BasicProperties props, byte[] body)
Publish a message.void
basicPublish(String exchange, String routingKey, boolean mandatory, AMQP.BasicProperties props, byte[] body)
Publish a message.void
basicPublish(String exchange, String routingKey, AMQP.BasicProperties props, byte[] body)
Publish a message.void
basicQos(int prefetchCount)
Request a specific prefetchCount "quality of service" settings for this channel.void
basicQos(int prefetchCount, boolean global)
Request a specific prefetchCount "quality of service" settings for this channel.void
basicQos(int prefetchSize, int prefetchCount, boolean global)
Request specific "quality of service" settings.AMQP.Basic.RecoverOk
basicRecover()
Ask the broker to resend unacknowledged messages.AMQP.Basic.RecoverOk
basicRecover(boolean requeue)
Ask the broker to resend unacknowledged messages.void
basicReject(long deliveryTag, boolean requeue)
Reject a message.void
clearConfirmListeners()
Remove allConfirmListener
s.void
clearFlowListeners()
Deprecated.void
clearReturnListeners()
Remove allReturnListener
s.void
close()
Close this channel with theAMQP.REPLY_SUCCESS
close code and message 'OK'.void
close(int closeCode, String closeMessage)
Close this channel.AMQP.Confirm.SelectOk
confirmSelect()
Enables publisher acknowledgements on this channel.long
consumerCount(String queue)
Returns the number of consumers on a queue.AMQP.Exchange.BindOk
exchangeBind(String destination, String source, String routingKey)
Bind an exchange to an exchange, with no extra arguments.AMQP.Exchange.BindOk
exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)
Bind an exchange to an exchange.void
exchangeBindNoWait(String destination, String source, String routingKey, Map<String,Object> arguments)
LikeChannel.exchangeBind(String, String, String, java.util.Map)
but sets nowait parameter to true and returns void (as there will be no response from the server).AMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, BuiltinExchangeType type)
Actively declare a non-autodelete, non-durable exchange with no extra argumentsAMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, BuiltinExchangeType type, boolean durable)
Actively declare a non-autodelete exchange with no extra argumentsAMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, BuiltinExchangeType type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments)
Declare an exchange, via an interface that allows the complete set of arguments.AMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, BuiltinExchangeType type, boolean durable, boolean autoDelete, Map<String,Object> arguments)
Declare an exchange.AMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, String type)
Actively declare a non-autodelete, non-durable exchange with no extra argumentsAMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, String type, boolean durable)
Actively declare a non-autodelete exchange with no extra argumentsAMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments)
Declare an exchange, via an interface that allows the complete set of arguments.AMQP.Exchange.DeclareOk
exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, Map<String,Object> arguments)
Declare an exchange.void
exchangeDeclareNoWait(String exchange, BuiltinExchangeType type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments)
LikeChannel.exchangeDeclare(String, String, boolean, boolean, java.util.Map)
but sets nowait parameter to true and returns nothing (as there will be no response from the server).void
exchangeDeclareNoWait(String exchange, String type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments)
LikeChannel.exchangeDeclare(String, String, boolean, boolean, java.util.Map)
but sets nowait parameter to true and returns nothing (as there will be no response from the server).AMQP.Exchange.DeclareOk
exchangeDeclarePassive(String name)
Declare an exchange passively; that is, check if the named exchange exists.AMQP.Exchange.DeleteOk
exchangeDelete(String exchange)
Delete an exchange, without regard for whether it is in use or notAMQP.Exchange.DeleteOk
exchangeDelete(String exchange, boolean ifUnused)
Delete an exchangevoid
exchangeDeleteNoWait(String exchange, boolean ifUnused)
LikeChannel.exchangeDelete(String, boolean)
but sets nowait parameter to true and returns void (as there will be no response from the server).AMQP.Exchange.UnbindOk
exchangeUnbind(String destination, String source, String routingKey)
Unbind an exchange from an exchange, with no extra arguments.AMQP.Exchange.UnbindOk
exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)
Unbind an exchange from an exchange.void
exchangeUnbindNoWait(String destination, String source, String routingKey, Map<String,Object> arguments)
Same asChannel.exchangeUnbind(String, String, String, java.util.Map)
but sets no-wait parameter to true and returns nothing (as there will be no response from the server).boolean
flowBlocked()
Deprecated.int
getChannelNumber()
Retrieve this channel's channel number.ShutdownSignalException
getCloseReason()
Get the shutdown reason objectConnection
getConnection()
Retrieve the connection which carries this channel.Consumer
getDefaultConsumer()
Get the current default consumer.Channel
getDelegate()
long
getNextPublishSeqNo()
When in confirm mode, returns the sequence number of the next message to be published.boolean
isOpen()
Determine whether the component is currently open.long
messageCount(String queue)
Returns the number of messages in a queue ready to be delivered to consumers.void
notifyListeners()
Protected API - notify the listeners attached to the componentAMQP.Queue.BindOk
queueBind(String queue, String exchange, String routingKey)
Bind a queue to an exchange, with no extra arguments.AMQP.Queue.BindOk
queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Bind a queue to an exchange.void
queueBindNoWait(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Same asChannel.queueBind(String, String, String, java.util.Map)
but sets nowait parameter to true and returns void (as there will be no response from the server).AMQP.Queue.DeclareOk
queueDeclare()
Actively declare a server-named exclusive, autodelete, non-durable queue.AMQP.Queue.DeclareOk
queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String,Object> arguments)
Declare a queuevoid
queueDeclareNoWait(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String,Object> arguments)
LikeChannel.queueDeclare(String, boolean, boolean, boolean, java.util.Map)
but sets nowait flag to true and returns no result (as there will be no response from the server).AMQP.Queue.DeclareOk
queueDeclarePassive(String queue)
Declare a queue passively; i.e., check if it exists.AMQP.Queue.DeleteOk
queueDelete(String queue)
Delete a queue, without regard for whether it is in use or has messages on itAMQP.Queue.DeleteOk
queueDelete(String queue, boolean ifUnused, boolean ifEmpty)
Delete a queuevoid
queueDeleteNoWait(String queue, boolean ifUnused, boolean ifEmpty)
LikeChannel.queueDelete(String, boolean, boolean)
but sets nowait parameter to true and returns nothing (as there will be no response from the server).AMQP.Queue.PurgeOk
queuePurge(String queue)
Purges the contents of the given queue.AMQP.Queue.UnbindOk
queueUnbind(String queue, String exchange, String routingKey)
Unbinds a queue from an exchange, with no extra arguments.AMQP.Queue.UnbindOk
queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Unbind a queue from an exchange.boolean
removeConfirmListener(ConfirmListener listener)
Remove aConfirmListener
.boolean
removeFlowListener(FlowListener listener)
Deprecated.void
removeRecoveryListener(RecoveryListener listener)
boolean
removeReturnListener(ReturnListener listener)
Remove aReturnListener
.void
removeShutdownListener(ShutdownListener listener)
Remove shutdown listener for the component.Command
rpc(Method method)
Synchronously send a method over this channel.void
setDefaultConsumer(Consumer consumer)
Set the current default consumer.String
toString()
AMQP.Tx.CommitOk
txCommit()
Commits a TX transaction on this channel.AMQP.Tx.RollbackOk
txRollback()
Rolls back a TX transaction on this channel.AMQP.Tx.SelectOk
txSelect()
Enables TX mode on this channel.boolean
waitForConfirms()
Wait until all messages published since the last call have been either ack'd or nack'd by the broker.boolean
waitForConfirms(long timeout)
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.void
waitForConfirmsOrDie()
Wait until all messages published since the last call have been either ack'd or nack'd by the broker.void
waitForConfirmsOrDie(long timeout)
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.
-
-
-
Constructor Detail
-
AutorecoveringChannel
public AutorecoveringChannel(AutorecoveringConnection connection, RecoveryAwareChannelN delegate)
-
-
Method Detail
-
getChannelNumber
public int getChannelNumber()
Description copied from interface:Channel
Retrieve this channel's channel number.- Specified by:
getChannelNumber
in interfaceChannel
- Returns:
- the channel number
-
getConnection
public Connection getConnection()
Description copied from interface:Channel
Retrieve the connection which carries this channel.- Specified by:
getConnection
in interfaceChannel
- Returns:
- the underlying
Connection
-
getDelegate
public Channel getDelegate()
-
close
public void close() throws IOException, TimeoutException
Description copied from interface:Channel
Close this channel with theAMQP.REPLY_SUCCESS
close code and message 'OK'.- Specified by:
close
in interfaceChannel
- Throws:
IOException
- if an error is encounteredTimeoutException
-
close
public void close(int closeCode, String closeMessage) throws IOException, TimeoutException
Description copied from interface:Channel
Close this channel.- Specified by:
close
in interfaceChannel
- Parameters:
closeCode
- the close code (See under "Reply Codes" in the AMQP specification)closeMessage
- a message indicating the reason for closing the connection- Throws:
IOException
- if an error is encounteredTimeoutException
-
flowBlocked
@Deprecated public boolean flowBlocked()
Deprecated.Description copied from interface:Channel
Deprecated, superseded by TCP back pressure. Will be removed in next major release.- Specified by:
flowBlocked
in interfaceChannel
- See Also:
- Resource-driven alarms
-
abort
public void abort() throws IOException
Description copied from interface:Channel
Abort this channel with theAMQP.REPLY_SUCCESS
close code and message 'OK'. Forces the channel to close and waits for the close operation to complete. Any encountered exceptions in the close operation are silently discarded.- Specified by:
abort
in interfaceChannel
- Throws:
IOException
-
abort
public void abort(int closeCode, String closeMessage) throws IOException
Description copied from interface:Channel
Abort this channel. Forces the channel to close and waits for the close operation to complete. Any encountered exceptions in the close operation are silently discarded.- Specified by:
abort
in interfaceChannel
- Throws:
IOException
-
addReturnListener
public void addReturnListener(ReturnListener listener)
Description copied from interface:Channel
Add aReturnListener
.- Specified by:
addReturnListener
in interfaceChannel
- Parameters:
listener
- the listener to add
-
removeReturnListener
public boolean removeReturnListener(ReturnListener listener)
Description copied from interface:Channel
Remove aReturnListener
.- Specified by:
removeReturnListener
in interfaceChannel
- Parameters:
listener
- the listener to remove- Returns:
true
if the listener was found and removed,false
otherwise
-
clearReturnListeners
public void clearReturnListeners()
Description copied from interface:Channel
Remove allReturnListener
s.- Specified by:
clearReturnListeners
in interfaceChannel
-
addFlowListener
@Deprecated public void addFlowListener(FlowListener listener)
Deprecated.Description copied from interface:Channel
Add aFlowListener
. Deprecated, superseded by TCP back pressure. Will be removed in next major release.- Specified by:
addFlowListener
in interfaceChannel
- Parameters:
listener
- the listener to add- See Also:
- Resource-driven alarms
-
removeFlowListener
@Deprecated public boolean removeFlowListener(FlowListener listener)
Deprecated.Description copied from interface:Channel
Remove aFlowListener
. Deprecated, superseded by TCP back pressure. Will be removed in next major release.- Specified by:
removeFlowListener
in interfaceChannel
- Parameters:
listener
- the listener to remove- Returns:
true
if the listener was found and removed,false
otherwise- See Also:
- Resource-driven alarms
-
clearFlowListeners
@Deprecated public void clearFlowListeners()
Deprecated.Description copied from interface:Channel
Remove allFlowListener
s. Deprecated, superseded by TCP back pressure. Will be removed in next major release.- Specified by:
clearFlowListeners
in interfaceChannel
- See Also:
- Resource-driven alarms
-
addConfirmListener
public void addConfirmListener(ConfirmListener listener)
Description copied from interface:Channel
Add aConfirmListener
.- Specified by:
addConfirmListener
in interfaceChannel
- Parameters:
listener
- the listener to add
-
removeConfirmListener
public boolean removeConfirmListener(ConfirmListener listener)
Description copied from interface:Channel
Remove aConfirmListener
.- Specified by:
removeConfirmListener
in interfaceChannel
- Parameters:
listener
- the listener to remove- Returns:
true
if the listener was found and removed,false
otherwise
-
clearConfirmListeners
public void clearConfirmListeners()
Description copied from interface:Channel
Remove allConfirmListener
s.- Specified by:
clearConfirmListeners
in interfaceChannel
-
getDefaultConsumer
public Consumer getDefaultConsumer()
Description copied from interface:Channel
Get the current default consumer. @see setDefaultConsumer for rationale.- Specified by:
getDefaultConsumer
in interfaceChannel
- Returns:
- an interface to the current default consumer.
-
setDefaultConsumer
public void setDefaultConsumer(Consumer consumer)
Description copied from interface:Channel
Set the current default consumer. Under certain circumstances it is possible for a channel to receive a message delivery which does not match any consumer which is currently set up via basicConsume(). This will occur after the following sequence of events: ctag = basicConsume(queue, consumer); // i.e. with explicit acks // some deliveries take place but are not acked basicCancel(ctag); basicRecover(false); Since requeue is specified to be false in the basicRecover, the spec states that the message must be redelivered to "the original recipient" - i.e. the same channel / consumer-tag. But the consumer is no longer active. In these circumstances, you can register a default consumer to handle such deliveries. If no default consumer is registered an IllegalStateException will be thrown when such a delivery arrives. Most people will not need to use this.- Specified by:
setDefaultConsumer
in interfaceChannel
- Parameters:
consumer
- the consumer to use, or null indicating "don't use one".
-
basicQos
public void basicQos(int prefetchSize, int prefetchCount, boolean global) throws IOException
Description copied from interface:Channel
Request specific "quality of service" settings.These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.
Note the prefetch count must be between 0 and 65535 (unsigned short in AMQP 0-9-1).
- Specified by:
basicQos
in interfaceChannel
- Parameters:
prefetchSize
- maximum amount of content (measured in octets) that the server will deliver, 0 if unlimitedprefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumer- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Qos
-
basicQos
public void basicQos(int prefetchCount) throws IOException
Description copied from interface:Channel
Request a specific prefetchCount "quality of service" settings for this channel.Note the prefetch count must be between 0 and 65535 (unsigned short in AMQP 0-9-1).
- Specified by:
basicQos
in interfaceChannel
- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimited- Throws:
IOException
- if an error is encountered- See Also:
Channel.basicQos(int, int, boolean)
-
basicQos
public void basicQos(int prefetchCount, boolean global) throws IOException
Description copied from interface:Channel
Request a specific prefetchCount "quality of service" settings for this channel.Note the prefetch count must be between 0 and 65535 (unsigned short in AMQP 0-9-1).
- Specified by:
basicQos
in interfaceChannel
- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumer- Throws:
IOException
- if an error is encountered- See Also:
Channel.basicQos(int, int, boolean)
-
basicPublish
public void basicPublish(String exchange, String routingKey, AMQP.BasicProperties props, byte[] body) throws IOException
Description copied from interface:Channel
Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations ofChannel#basicPublish
will eventually block if a resource-driven alarm is in effect.- Specified by:
basicPublish
in interfaceChannel
- Parameters:
exchange
- the exchange to publish the message toroutingKey
- the routing keyprops
- other properties for the message - routing headers etcbody
- the message body- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Publish
, Resource-driven alarms
-
basicPublish
public void basicPublish(String exchange, String routingKey, boolean mandatory, AMQP.BasicProperties props, byte[] body) throws IOException
Description copied from interface:Channel
Publish a message. Invocations ofChannel#basicPublish
will eventually block if a resource-driven alarm is in effect.- Specified by:
basicPublish
in interfaceChannel
- Parameters:
exchange
- the exchange to publish the message toroutingKey
- the routing keymandatory
- true if the 'mandatory' flag is to be setprops
- other properties for the message - routing headers etcbody
- the message body- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Publish
, Resource-driven alarms
-
basicPublish
public void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, AMQP.BasicProperties props, byte[] body) throws IOException
Description copied from interface:Channel
Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations ofChannel#basicPublish
will eventually block if a resource-driven alarm is in effect.- Specified by:
basicPublish
in interfaceChannel
- Parameters:
exchange
- the exchange to publish the message toroutingKey
- the routing keymandatory
- true if the 'mandatory' flag is to be setimmediate
- true if the 'immediate' flag is to be set. Note that the RabbitMQ server does not support this flag.props
- other properties for the message - routing headers etcbody
- the message body- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Publish
, Resource-driven alarms
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, String type) throws IOException
Description copied from interface:Channel
Actively declare a non-autodelete, non-durable exchange with no extra arguments- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange type- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, BuiltinExchangeType type) throws IOException
Description copied from interface:Channel
Actively declare a non-autodelete, non-durable exchange with no extra arguments- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange type- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, String type, boolean durable) throws IOException
Description copied from interface:Channel
Actively declare a non-autodelete exchange with no extra arguments- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, BuiltinExchangeType type, boolean durable) throws IOException
Description copied from interface:Channel
Actively declare a non-autodelete exchange with no extra arguments- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Declare an exchange.- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)autoDelete
- true if the server should delete the exchange when it is no longer in usearguments
- other properties (construction arguments) for the exchange- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, BuiltinExchangeType type, boolean durable, boolean autoDelete, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Declare an exchange.- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)autoDelete
- true if the server should delete the exchange when it is no longer in usearguments
- other properties (construction arguments) for the exchange- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Declare an exchange, via an interface that allows the complete set of arguments.- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)autoDelete
- true if the server should delete the exchange when it is no longer in useinternal
- true if the exchange is internal, i.e. can't be directly published to by a client.arguments
- other properties (construction arguments) for the exchange- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclare
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, BuiltinExchangeType type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Declare an exchange, via an interface that allows the complete set of arguments.- Specified by:
exchangeDeclare
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)autoDelete
- true if the server should delete the exchange when it is no longer in useinternal
- true if the exchange is internal, i.e. can't be directly published to by a client.arguments
- other properties (construction arguments) for the exchange- Returns:
- a declaration-confirm method to indicate the exchange was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Declare
,AMQP.Exchange.DeclareOk
-
exchangeDeclareNoWait
public void exchangeDeclareNoWait(String exchange, String type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
LikeChannel.exchangeDeclare(String, String, boolean, boolean, java.util.Map)
but sets nowait parameter to true and returns nothing (as there will be no response from the server).- Specified by:
exchangeDeclareNoWait
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)autoDelete
- true if the server should delete the exchange when it is no longer in useinternal
- true if the exchange is internal, i.e. can't be directly published to by a client.arguments
- other properties (construction arguments) for the exchange- Throws:
IOException
- if an error is encountered
-
exchangeDeclareNoWait
public void exchangeDeclareNoWait(String exchange, BuiltinExchangeType type, boolean durable, boolean autoDelete, boolean internal, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
LikeChannel.exchangeDeclare(String, String, boolean, boolean, java.util.Map)
but sets nowait parameter to true and returns nothing (as there will be no response from the server).- Specified by:
exchangeDeclareNoWait
in interfaceChannel
- Parameters:
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)autoDelete
- true if the server should delete the exchange when it is no longer in useinternal
- true if the exchange is internal, i.e. can't be directly published to by a client.arguments
- other properties (construction arguments) for the exchange- Throws:
IOException
- if an error is encountered
-
exchangeDeclarePassive
public AMQP.Exchange.DeclareOk exchangeDeclarePassive(String name) throws IOException
Description copied from interface:Channel
Declare an exchange passively; that is, check if the named exchange exists.- Specified by:
exchangeDeclarePassive
in interfaceChannel
- Parameters:
name
- check the existence of an exchange named this- Throws:
IOException
- the server will raise a 404 channel exception if the named exchange does not exist.
-
exchangeDelete
public AMQP.Exchange.DeleteOk exchangeDelete(String exchange, boolean ifUnused) throws IOException
Description copied from interface:Channel
Delete an exchange- Specified by:
exchangeDelete
in interfaceChannel
- Parameters:
exchange
- the name of the exchangeifUnused
- true to indicate that the exchange is only to be deleted if it is unused- Returns:
- a deletion-confirm method to indicate the exchange was successfully deleted
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Delete
,AMQP.Exchange.DeleteOk
-
exchangeDeleteNoWait
public void exchangeDeleteNoWait(String exchange, boolean ifUnused) throws IOException
Description copied from interface:Channel
LikeChannel.exchangeDelete(String, boolean)
but sets nowait parameter to true and returns void (as there will be no response from the server).- Specified by:
exchangeDeleteNoWait
in interfaceChannel
- Parameters:
exchange
- the name of the exchangeifUnused
- true to indicate that the exchange is only to be deleted if it is unused- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Delete
,AMQP.Exchange.DeleteOk
-
exchangeDelete
public AMQP.Exchange.DeleteOk exchangeDelete(String exchange) throws IOException
Description copied from interface:Channel
Delete an exchange, without regard for whether it is in use or not- Specified by:
exchangeDelete
in interfaceChannel
- Parameters:
exchange
- the name of the exchange- Returns:
- a deletion-confirm method to indicate the exchange was successfully deleted
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Delete
,AMQP.Exchange.DeleteOk
-
exchangeBind
public AMQP.Exchange.BindOk exchangeBind(String destination, String source, String routingKey) throws IOException
Description copied from interface:Channel
Bind an exchange to an exchange, with no extra arguments.- Specified by:
exchangeBind
in interfaceChannel
- Parameters:
destination
- the name of the exchange to which messages flow across the bindingsource
- the name of the exchange from which messages flow across the bindingroutingKey
- the routing key to use for the binding- Returns:
- a binding-confirm method if the binding was successfully created
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Bind
,AMQP.Exchange.BindOk
-
exchangeBind
public AMQP.Exchange.BindOk exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Bind an exchange to an exchange.- Specified by:
exchangeBind
in interfaceChannel
- Parameters:
destination
- the name of the exchange to which messages flow across the bindingsource
- the name of the exchange from which messages flow across the bindingroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Returns:
- a binding-confirm method if the binding was successfully created
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Bind
,AMQP.Exchange.BindOk
-
exchangeBindNoWait
public void exchangeBindNoWait(String destination, String source, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
LikeChannel.exchangeBind(String, String, String, java.util.Map)
but sets nowait parameter to true and returns void (as there will be no response from the server).- Specified by:
exchangeBindNoWait
in interfaceChannel
- Parameters:
destination
- the name of the exchange to which messages flow across the bindingsource
- the name of the exchange from which messages flow across the bindingroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Throws:
IOException
- if an error is encountered
-
exchangeUnbind
public AMQP.Exchange.UnbindOk exchangeUnbind(String destination, String source, String routingKey) throws IOException
Description copied from interface:Channel
Unbind an exchange from an exchange, with no extra arguments.- Specified by:
exchangeUnbind
in interfaceChannel
- Parameters:
destination
- the name of the exchange to which messages flow across the bindingsource
- the name of the exchange from which messages flow across the bindingroutingKey
- the routing key to use for the binding- Returns:
- a binding-confirm method if the binding was successfully created
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Bind
,AMQP.Exchange.BindOk
-
exchangeUnbind
public AMQP.Exchange.UnbindOk exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Unbind an exchange from an exchange.- Specified by:
exchangeUnbind
in interfaceChannel
- Parameters:
destination
- the name of the exchange to which messages flow across the bindingsource
- the name of the exchange from which messages flow across the bindingroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Returns:
- a binding-confirm method if the binding was successfully created
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Exchange.Bind
,AMQP.Exchange.BindOk
-
exchangeUnbindNoWait
public void exchangeUnbindNoWait(String destination, String source, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Same asChannel.exchangeUnbind(String, String, String, java.util.Map)
but sets no-wait parameter to true and returns nothing (as there will be no response from the server).- Specified by:
exchangeUnbindNoWait
in interfaceChannel
- Parameters:
destination
- the name of the exchange to which messages flow across the bindingsource
- the name of the exchange from which messages flow across the bindingroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Throws:
IOException
- if an error is encountered
-
queueDeclare
public AMQP.Queue.DeclareOk queueDeclare() throws IOException
Description copied from interface:Channel
Actively declare a server-named exclusive, autodelete, non-durable queue. The name of the new queue is held in the "queue" field of theAMQP.Queue.DeclareOk
result.- Specified by:
queueDeclare
in interfaceChannel
- Returns:
- a declaration-confirm method to indicate the queue was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Declare
,AMQP.Queue.DeclareOk
-
queueDeclare
public AMQP.Queue.DeclareOk queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Declare a queue- Specified by:
queueDeclare
in interfaceChannel
- Parameters:
queue
- the name of the queuedurable
- true if we are declaring a durable queue (the queue will survive a server restart)exclusive
- true if we are declaring an exclusive queue (restricted to this connection)autoDelete
- true if we are declaring an autodelete queue (server will delete it when no longer in use)arguments
- other properties (construction arguments) for the queue- Returns:
- a declaration-confirm method to indicate the queue was successfully declared
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Declare
,AMQP.Queue.DeclareOk
-
queueDeclareNoWait
public void queueDeclareNoWait(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
LikeChannel.queueDeclare(String, boolean, boolean, boolean, java.util.Map)
but sets nowait flag to true and returns no result (as there will be no response from the server).- Specified by:
queueDeclareNoWait
in interfaceChannel
- Parameters:
queue
- the name of the queuedurable
- true if we are declaring a durable queue (the queue will survive a server restart)exclusive
- true if we are declaring an exclusive queue (restricted to this connection)autoDelete
- true if we are declaring an autodelete queue (server will delete it when no longer in use)arguments
- other properties (construction arguments) for the queue- Throws:
IOException
- if an error is encountered
-
queueDeclarePassive
public AMQP.Queue.DeclareOk queueDeclarePassive(String queue) throws IOException
Description copied from interface:Channel
Declare a queue passively; i.e., check if it exists. In AMQP 0-9-1, all arguments aside from nowait are ignored; and sending nowait makes this method a no-op, so we default it to false.- Specified by:
queueDeclarePassive
in interfaceChannel
- Parameters:
queue
- the name of the queue- Returns:
- a declaration-confirm method to indicate the queue exists
- Throws:
IOException
- if an error is encountered, including if the queue does not exist and if the queue is exclusively owned by another connection.- See Also:
AMQP.Queue.Declare
,AMQP.Queue.DeclareOk
-
messageCount
public long messageCount(String queue) throws IOException
Description copied from interface:Channel
Returns the number of messages in a queue ready to be delivered to consumers. This method assumes the queue exists. If it doesn't, the channels will be closed with an exception.- Specified by:
messageCount
in interfaceChannel
- Parameters:
queue
- the name of the queue- Returns:
- the number of messages in ready state
- Throws:
IOException
- Problem transmitting method.
-
consumerCount
public long consumerCount(String queue) throws IOException
Description copied from interface:Channel
Returns the number of consumers on a queue. This method assumes the queue exists. If it doesn't, the channel will be closed with an exception.- Specified by:
consumerCount
in interfaceChannel
- Parameters:
queue
- the name of the queue- Returns:
- the number of consumers
- Throws:
IOException
- Problem transmitting method.
-
queueDelete
public AMQP.Queue.DeleteOk queueDelete(String queue) throws IOException
Description copied from interface:Channel
Delete a queue, without regard for whether it is in use or has messages on it- Specified by:
queueDelete
in interfaceChannel
- Parameters:
queue
- the name of the queue- Returns:
- a deletion-confirm method to indicate the queue was successfully deleted
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Delete
,AMQP.Queue.DeleteOk
-
queueDelete
public AMQP.Queue.DeleteOk queueDelete(String queue, boolean ifUnused, boolean ifEmpty) throws IOException
Description copied from interface:Channel
Delete a queue- Specified by:
queueDelete
in interfaceChannel
- Parameters:
queue
- the name of the queueifUnused
- true if the queue should be deleted only if not in useifEmpty
- true if the queue should be deleted only if empty- Returns:
- a deletion-confirm method to indicate the queue was successfully deleted
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Delete
,AMQP.Queue.DeleteOk
-
queueDeleteNoWait
public void queueDeleteNoWait(String queue, boolean ifUnused, boolean ifEmpty) throws IOException
Description copied from interface:Channel
LikeChannel.queueDelete(String, boolean, boolean)
but sets nowait parameter to true and returns nothing (as there will be no response from the server).- Specified by:
queueDeleteNoWait
in interfaceChannel
- Parameters:
queue
- the name of the queueifUnused
- true if the queue should be deleted only if not in useifEmpty
- true if the queue should be deleted only if empty- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Delete
,AMQP.Queue.DeleteOk
-
queueBind
public AMQP.Queue.BindOk queueBind(String queue, String exchange, String routingKey) throws IOException
Description copied from interface:Channel
Bind a queue to an exchange, with no extra arguments.- Specified by:
queueBind
in interfaceChannel
- Parameters:
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routing key to use for the binding- Returns:
- a binding-confirm method if the binding was successfully created
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Bind
,AMQP.Queue.BindOk
-
queueBind
public AMQP.Queue.BindOk queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Bind a queue to an exchange.- Specified by:
queueBind
in interfaceChannel
- Parameters:
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Returns:
- a binding-confirm method if the binding was successfully created
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Bind
,AMQP.Queue.BindOk
-
queueBindNoWait
public void queueBindNoWait(String queue, String exchange, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Same asChannel.queueBind(String, String, String, java.util.Map)
but sets nowait parameter to true and returns void (as there will be no response from the server).- Specified by:
queueBindNoWait
in interfaceChannel
- Parameters:
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Throws:
IOException
- if an error is encountered
-
queueUnbind
public AMQP.Queue.UnbindOk queueUnbind(String queue, String exchange, String routingKey) throws IOException
Description copied from interface:Channel
Unbinds a queue from an exchange, with no extra arguments.- Specified by:
queueUnbind
in interfaceChannel
- Parameters:
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routing key to use for the binding- Returns:
- an unbinding-confirm method if the binding was successfully deleted
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Unbind
,AMQP.Queue.UnbindOk
-
queueUnbind
public AMQP.Queue.UnbindOk queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments) throws IOException
Description copied from interface:Channel
Unbind a queue from an exchange.- Specified by:
queueUnbind
in interfaceChannel
- Parameters:
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routing key to use for the bindingarguments
- other properties (binding parameters)- Returns:
- an unbinding-confirm method if the binding was successfully deleted
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Unbind
,AMQP.Queue.UnbindOk
-
queuePurge
public AMQP.Queue.PurgeOk queuePurge(String queue) throws IOException
Description copied from interface:Channel
Purges the contents of the given queue.- Specified by:
queuePurge
in interfaceChannel
- Parameters:
queue
- the name of the queue- Returns:
- a purge-confirm method if the purge was executed successfully
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Queue.Purge
,AMQP.Queue.PurgeOk
-
basicGet
public GetResponse basicGet(String queue, boolean autoAck) throws IOException
Description copied from interface:Channel
Retrieve a message from a queue usingAMQP.Basic.Get
- Specified by:
basicGet
in interfaceChannel
- Parameters:
queue
- the name of the queueautoAck
- true if the server should consider messages acknowledged once delivered; false if the server should expect explicit acknowledgements- Returns:
- a
GetResponse
containing the retrieved message data - Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Get
,AMQP.Basic.GetOk
,AMQP.Basic.GetEmpty
-
basicAck
public void basicAck(long deliveryTag, boolean multiple) throws IOException
Description copied from interface:Channel
Acknowledge one or several received messages. Supply the deliveryTag from theAMQP.Basic.GetOk
orAMQP.Basic.Deliver
method containing the received message being acknowledged.- Specified by:
basicAck
in interfaceChannel
- Parameters:
deliveryTag
- the tag from the receivedAMQP.Basic.GetOk
orAMQP.Basic.Deliver
multiple
- true to acknowledge all messages up to and including the supplied delivery tag; false to acknowledge just the supplied delivery tag.- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Ack
-
basicNack
public void basicNack(long deliveryTag, boolean multiple, boolean requeue) throws IOException
Description copied from interface:Channel
Reject one or several received messages. Supply thedeliveryTag
from theAMQP.Basic.GetOk
orAMQP.Basic.GetOk
method containing the message to be rejected.- Specified by:
basicNack
in interfaceChannel
- Parameters:
deliveryTag
- the tag from the receivedAMQP.Basic.GetOk
orAMQP.Basic.Deliver
multiple
- true to reject all messages up to and including the supplied delivery tag; false to reject just the supplied delivery tag.requeue
- true if the rejected message(s) should be requeued rather than discarded/dead-lettered- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Nack
-
basicReject
public void basicReject(long deliveryTag, boolean requeue) throws IOException
Description copied from interface:Channel
Reject a message. Supply the deliveryTag from theAMQP.Basic.GetOk
orAMQP.Basic.Deliver
method containing the received message being rejected.- Specified by:
basicReject
in interfaceChannel
- Parameters:
deliveryTag
- the tag from the receivedAMQP.Basic.GetOk
orAMQP.Basic.Deliver
requeue
- true if the rejected message should be requeued rather than discarded/dead-lettered- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Reject
-
basicConsume
public String basicConsume(String queue, Consumer callback) throws IOException
Description copied from interface:Channel
Start a non-nolocal, non-exclusive consumer, with explicit acknowledgement and a server-generated consumerTag.- Specified by:
basicConsume
in interfaceChannel
- Parameters:
queue
- the name of the queuecallback
- an interface to the consumer object- Returns:
- the consumerTag generated by the server
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Consume
,AMQP.Basic.ConsumeOk
,Channel.basicAck(long, boolean)
,Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
-
basicConsume
public String basicConsume(String queue, boolean autoAck, Consumer callback) throws IOException
Description copied from interface:Channel
Start a non-nolocal, non-exclusive consumer, with a server-generated consumerTag.- Specified by:
basicConsume
in interfaceChannel
- Parameters:
queue
- the name of the queueautoAck
- true if the server should consider messages acknowledged once delivered; false if the server should expect explicit acknowledgementscallback
- an interface to the consumer object- Returns:
- the consumerTag generated by the server
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Consume
,AMQP.Basic.ConsumeOk
,Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
-
basicConsume
public String basicConsume(String queue, boolean autoAck, String consumerTag, Consumer callback) throws IOException
Description copied from interface:Channel
Start a non-nolocal, non-exclusive consumer.- Specified by:
basicConsume
in interfaceChannel
- Parameters:
queue
- the name of the queueautoAck
- true if the server should consider messages acknowledged once delivered; false if the server should expect explicit acknowledgementsconsumerTag
- a client-generated consumer tag to establish contextcallback
- an interface to the consumer object- Returns:
- the consumerTag associated with the new consumer
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Consume
,AMQP.Basic.ConsumeOk
,Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
-
basicConsume
public String basicConsume(String queue, boolean autoAck, Map<String,Object> arguments, Consumer callback) throws IOException
Description copied from interface:Channel
Start a non-nolocal, non-exclusive consumer, with a server-generated consumerTag and specified arguments.- Specified by:
basicConsume
in interfaceChannel
- Parameters:
queue
- the name of the queueautoAck
- true if the server should consider messages acknowledged once delivered; false if the server should expect explicit acknowledgementsarguments
- a set of arguments for the consumecallback
- an interface to the consumer object- Returns:
- the consumerTag generated by the server
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Consume
,AMQP.Basic.ConsumeOk
,Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
-
basicConsume
public String basicConsume(String queue, boolean autoAck, String consumerTag, boolean noLocal, boolean exclusive, Map<String,Object> arguments, Consumer callback) throws IOException
Description copied from interface:Channel
Start a consumer. Calls the consumer'sConsumer.handleConsumeOk(java.lang.String)
method.- Specified by:
basicConsume
in interfaceChannel
- Parameters:
queue
- the name of the queueautoAck
- true if the server should consider messages acknowledged once delivered; false if the server should expect explicit acknowledgementsconsumerTag
- a client-generated consumer tag to establish contextnoLocal
- true if the server should not deliver to this consumer messages published on this channel's connectionexclusive
- true if this is an exclusive consumerarguments
- a set of arguments for the consumecallback
- an interface to the consumer object- Returns:
- the consumerTag associated with the new consumer
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Basic.Consume
,AMQP.Basic.ConsumeOk
-
basicCancel
public void basicCancel(String consumerTag) throws IOException
Description copied from interface:Channel
Cancel a consumer. Calls the consumer'sConsumer.handleCancelOk(java.lang.String)
method.- Specified by:
basicCancel
in interfaceChannel
- Parameters:
consumerTag
- a client- or server-generated consumer tag to establish context- Throws:
IOException
- if an error is encountered, or if the consumerTag is unknown- See Also:
AMQP.Basic.Cancel
,AMQP.Basic.CancelOk
-
basicRecover
public AMQP.Basic.RecoverOk basicRecover() throws IOException
Description copied from interface:Channel
Ask the broker to resend unacknowledged messages. In 0-8 basic.recover is asynchronous; in 0-9-1 it is synchronous, and the new, deprecated method basic.recover_async is asynchronous.
Equivalent to callingbasicRecover(true)
, messages will be requeued and possibly delivered to a different consumer.- Specified by:
basicRecover
in interfaceChannel
- Throws:
IOException
- See Also:
Channel.basicRecover(boolean)
-
basicRecover
public AMQP.Basic.RecoverOk basicRecover(boolean requeue) throws IOException
Description copied from interface:Channel
Ask the broker to resend unacknowledged messages. In 0-8 basic.recover is asynchronous; in 0-9-1 it is synchronous, and the new, deprecated method basic.recover_async is asynchronous.- Specified by:
basicRecover
in interfaceChannel
- Parameters:
requeue
- If true, messages will be requeued and possibly delivered to a different consumer. If false, messages will be redelivered to the same consumer.- Throws:
IOException
-
txSelect
public AMQP.Tx.SelectOk txSelect() throws IOException
Description copied from interface:Channel
Enables TX mode on this channel.- Specified by:
txSelect
in interfaceChannel
- Returns:
- a transaction-selection method to indicate the transaction was successfully initiated
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Tx.Select
,AMQP.Tx.SelectOk
-
txCommit
public AMQP.Tx.CommitOk txCommit() throws IOException
Description copied from interface:Channel
Commits a TX transaction on this channel.- Specified by:
txCommit
in interfaceChannel
- Returns:
- a transaction-commit method to indicate the transaction was successfully committed
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Tx.Commit
,AMQP.Tx.CommitOk
-
txRollback
public AMQP.Tx.RollbackOk txRollback() throws IOException
Description copied from interface:Channel
Rolls back a TX transaction on this channel.- Specified by:
txRollback
in interfaceChannel
- Returns:
- a transaction-rollback method to indicate the transaction was successfully rolled back
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Tx.Rollback
,AMQP.Tx.RollbackOk
-
confirmSelect
public AMQP.Confirm.SelectOk confirmSelect() throws IOException
Description copied from interface:Channel
Enables publisher acknowledgements on this channel.- Specified by:
confirmSelect
in interfaceChannel
- Throws:
IOException
- if an error is encountered- See Also:
AMQP.Confirm.Select
-
getNextPublishSeqNo
public long getNextPublishSeqNo()
Description copied from interface:Channel
When in confirm mode, returns the sequence number of the next message to be published.- Specified by:
getNextPublishSeqNo
in interfaceChannel
- Returns:
- the sequence number of the next message to be published
-
waitForConfirms
public boolean waitForConfirms() throws InterruptedException
Description copied from interface:Channel
Wait until all messages published since the last call have been either ack'd or nack'd by the broker. Note, when called on a non-Confirm channel, waitForConfirms throws an IllegalStateException.- Specified by:
waitForConfirms
in interfaceChannel
- Returns:
- whether all the messages were ack'd (and none were nack'd)
- Throws:
InterruptedException
-
waitForConfirms
public boolean waitForConfirms(long timeout) throws InterruptedException, TimeoutException
Description copied from interface:Channel
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses. If the timeout expires a TimeoutException is thrown. When called on a non-Confirm channel, waitForConfirms throws an IllegalStateException.- Specified by:
waitForConfirms
in interfaceChannel
- Returns:
- whether all the messages were ack'd (and none were nack'd)
- Throws:
InterruptedException
TimeoutException
-
waitForConfirmsOrDie
public void waitForConfirmsOrDie() throws IOException, InterruptedException
Description copied from interface:Channel
Wait until all messages published since the last call have been either ack'd or nack'd by the broker. If any of the messages were nack'd, waitForConfirmsOrDie will throw an IOException. When called on a non-Confirm channel, it will throw an IllegalStateException.- Specified by:
waitForConfirmsOrDie
in interfaceChannel
- Throws:
IOException
InterruptedException
-
waitForConfirmsOrDie
public void waitForConfirmsOrDie(long timeout) throws IOException, InterruptedException, TimeoutException
Description copied from interface:Channel
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses. If the timeout expires a TimeoutException is thrown. If any of the messages were nack'd, waitForConfirmsOrDie will throw an IOException. When called on a non-Confirm channel, it will throw an IllegalStateException.- Specified by:
waitForConfirmsOrDie
in interfaceChannel
- Throws:
IOException
InterruptedException
TimeoutException
-
asyncRpc
public void asyncRpc(Method method) throws IOException
Description copied from interface:Channel
Asynchronously send a method over this channel.- Specified by:
asyncRpc
in interfaceChannel
- Parameters:
method
- method to transmit over this channel.- Throws:
IOException
- Problem transmitting method.
-
rpc
public Command rpc(Method method) throws IOException
Description copied from interface:Channel
Synchronously send a method over this channel.- Specified by:
rpc
in interfaceChannel
- Parameters:
method
- method to transmit over this channel.- Returns:
- command response to method. Caller should cast as appropriate.
- Throws:
IOException
- Problem transmitting method.
-
addShutdownListener
public void addShutdownListener(ShutdownListener listener)
Description copied from interface:ShutdownNotifier
Add shutdown listener. If the component is already closed, handler is fired immediately- Specified by:
addShutdownListener
in interfaceShutdownNotifier
- Parameters:
listener
-ShutdownListener
to the component- See Also:
ShutdownNotifier.addShutdownListener(com.rabbitmq.client.ShutdownListener)
-
removeShutdownListener
public void removeShutdownListener(ShutdownListener listener)
Description copied from interface:ShutdownNotifier
Remove shutdown listener for the component.- Specified by:
removeShutdownListener
in interfaceShutdownNotifier
- Parameters:
listener
-ShutdownListener
to be removed
-
getCloseReason
public ShutdownSignalException getCloseReason()
Description copied from interface:ShutdownNotifier
Get the shutdown reason object- Specified by:
getCloseReason
in interfaceShutdownNotifier
- Returns:
- ShutdownSignalException if component is closed, null otherwise
-
notifyListeners
public void notifyListeners()
Description copied from interface:ShutdownNotifier
Protected API - notify the listeners attached to the component- Specified by:
notifyListeners
in interfaceShutdownNotifier
- See Also:
ShutdownListener
-
isOpen
public boolean isOpen()
Description copied from interface:ShutdownNotifier
Determine whether the component is currently open. Will return false if we are currently closing. Checking this method should be only for information, because of the race conditions - state can change after the call. Instead just execute and try to catch ShutdownSignalException and IOException- Specified by:
isOpen
in interfaceShutdownNotifier
- Returns:
- true when component is open, false otherwise
-
addRecoveryListener
public void addRecoveryListener(RecoveryListener listener)
Description copied from interface:Recoverable
Registers a connection recovery callback.- Specified by:
addRecoveryListener
in interfaceRecoverable
- Parameters:
listener
- Callback function
-
removeRecoveryListener
public void removeRecoveryListener(RecoveryListener listener)
- Specified by:
removeRecoveryListener
in interfaceRecoverable
-
automaticallyRecover
public void automaticallyRecover(AutorecoveringConnection connection, Connection connDelegate) throws IOException
- Throws:
IOException
-
-