com.rabbitmq.client.impl.recovery
public class AutorecoveringChannel extends java.lang.Object implements Channel, Recoverable
Channel
implementation that is automatically
recovered during connection recovery.Constructor and Description |
---|
AutorecoveringChannel(AutorecoveringConnection connection,
RecoveryAwareChannelN delegate) |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Abort this channel with the
AMQP.REPLY_SUCCESS close code
and message 'OK'. |
void |
abort(int closeCode,
java.lang.String closeMessage)
Abort this channel.
|
void |
addConfirmListener(ConfirmListener listener)
Add a
ConfirmListener . |
void |
addFlowListener(FlowListener listener)
Deprecated.
|
void |
addRecoveryListener(RecoveryListener listener)
Registers a connection recovery callback.
|
void |
addReturnListener(ReturnListener listener)
Add a
ReturnListener . |
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(java.lang.String consumerTag)
Cancel a consumer.
|
java.lang.String |
basicConsume(java.lang.String queue,
boolean autoAck,
Consumer callback)
Start a non-nolocal, non-exclusive consumer, with
a server-generated consumerTag.
|
java.lang.String |
basicConsume(java.lang.String queue,
boolean autoAck,
java.util.Map<java.lang.String,java.lang.Object> arguments,
Consumer callback)
Start a non-nolocal, non-exclusive consumer, with
a server-generated consumerTag and specified arguments.
|
java.lang.String |
basicConsume(java.lang.String queue,
boolean autoAck,
java.lang.String consumerTag,
boolean noLocal,
boolean exclusive,
java.util.Map<java.lang.String,java.lang.Object> arguments,
Consumer callback)
Start a consumer.
|
java.lang.String |
basicConsume(java.lang.String queue,
boolean autoAck,
java.lang.String consumerTag,
Consumer callback)
Start a non-nolocal, non-exclusive consumer.
|
java.lang.String |
basicConsume(java.lang.String queue,
Consumer callback)
Start a non-nolocal, non-exclusive consumer, with
explicit acknowledgement and a server-generated consumerTag.
|
GetResponse |
basicGet(java.lang.String queue,
boolean autoAck)
Retrieve a message from a queue using
AMQP.Basic.Get |
void |
basicNack(long deliveryTag,
boolean multiple,
boolean requeue)
Reject one or several received messages.
|
void |
basicPublish(java.lang.String exchange,
java.lang.String routingKey,
AMQP.BasicProperties props,
byte[] body)
Publish a message.
|
void |
basicPublish(java.lang.String exchange,
java.lang.String routingKey,
boolean mandatory,
AMQP.BasicProperties props,
byte[] body)
Publish a message.
|
void |
basicPublish(java.lang.String exchange,
java.lang.String routingKey,
boolean mandatory,
boolean immediate,
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 all
ConfirmListener s. |
void |
clearFlowListeners()
Deprecated.
|
void |
clearReturnListeners()
Remove all
ReturnListener s. |
void |
close()
Close this channel with the
AMQP.REPLY_SUCCESS close code
and message 'OK'. |
void |
close(int closeCode,
java.lang.String closeMessage)
Close this channel.
|
AMQP.Confirm.SelectOk |
confirmSelect()
Enables publisher acknowledgements on this channel.
|
AMQP.Exchange.BindOk |
exchangeBind(java.lang.String destination,
java.lang.String source,
java.lang.String routingKey)
Bind an exchange to an exchange, with no extra arguments.
|
AMQP.Exchange.BindOk |
exchangeBind(java.lang.String destination,
java.lang.String source,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Bind an exchange to an exchange.
|
void |
exchangeBindNoWait(java.lang.String destination,
java.lang.String source,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Like
Channel.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(java.lang.String exchange,
java.lang.String type)
Actively declare a non-autodelete, non-durable exchange with no extra arguments
|
AMQP.Exchange.DeclareOk |
exchangeDeclare(java.lang.String exchange,
java.lang.String type,
boolean durable)
Actively declare a non-autodelete exchange with no extra arguments
|
AMQP.Exchange.DeclareOk |
exchangeDeclare(java.lang.String exchange,
java.lang.String type,
boolean durable,
boolean autoDelete,
boolean internal,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Declare an exchange, via an interface that allows the complete set of
arguments.
|
AMQP.Exchange.DeclareOk |
exchangeDeclare(java.lang.String exchange,
java.lang.String type,
boolean durable,
boolean autoDelete,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Declare an exchange.
|
void |
exchangeDeclareNoWait(java.lang.String exchange,
java.lang.String type,
boolean durable,
boolean autoDelete,
boolean internal,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Like
Channel.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(java.lang.String name)
Declare an exchange passively; that is, check if the named exchange exists.
|
AMQP.Exchange.DeleteOk |
exchangeDelete(java.lang.String exchange)
Delete an exchange, without regard for whether it is in use or not
|
AMQP.Exchange.DeleteOk |
exchangeDelete(java.lang.String exchange,
boolean ifUnused)
Delete an exchange
|
void |
exchangeDeleteNoWait(java.lang.String exchange,
boolean ifUnused)
Like
Channel.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(java.lang.String destination,
java.lang.String source,
java.lang.String routingKey)
Unbind an exchange from an exchange, with no extra arguments.
|
AMQP.Exchange.UnbindOk |
exchangeUnbind(java.lang.String destination,
java.lang.String source,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Unbind an exchange from an exchange.
|
void |
exchangeUnbindNoWait(java.lang.String destination,
java.lang.String source,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Same as
Channel.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 object
|
Connection |
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.
|
void |
notifyListeners()
Protected API - notify the listeners attached to the component
|
AMQP.Queue.BindOk |
queueBind(java.lang.String queue,
java.lang.String exchange,
java.lang.String routingKey)
Bind a queue to an exchange, with no extra arguments.
|
AMQP.Queue.BindOk |
queueBind(java.lang.String queue,
java.lang.String exchange,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Bind a queue to an exchange.
|
void |
queueBindNoWait(java.lang.String queue,
java.lang.String exchange,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Same as
Channel.queueDeclare(String, boolean, boolean, boolean, 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(java.lang.String queue,
boolean durable,
boolean exclusive,
boolean autoDelete,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Declare a queue
|
void |
queueDeclareNoWait(java.lang.String queue,
boolean durable,
boolean exclusive,
boolean autoDelete,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Like
Channel.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(java.lang.String queue)
Declare a queue passively; i.e., check if it exists.
|
AMQP.Queue.DeleteOk |
queueDelete(java.lang.String queue)
Delete a queue, without regard for whether it is in use or has messages on it
|
AMQP.Queue.DeleteOk |
queueDelete(java.lang.String queue,
boolean ifUnused,
boolean ifEmpty)
Delete a queue
|
void |
queueDeleteNoWait(java.lang.String queue,
boolean ifUnused,
boolean ifEmpty)
Like
Channel.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(java.lang.String queue)
Purges the contents of the given queue.
|
AMQP.Queue.UnbindOk |
queueUnbind(java.lang.String queue,
java.lang.String exchange,
java.lang.String routingKey)
Unbinds a queue from an exchange, with no extra arguments.
|
AMQP.Queue.UnbindOk |
queueUnbind(java.lang.String queue,
java.lang.String exchange,
java.lang.String routingKey,
java.util.Map<java.lang.String,java.lang.Object> arguments)
Unbind a queue from an exchange.
|
boolean |
removeConfirmListener(ConfirmListener listener)
Remove a
ConfirmListener . |
boolean |
removeFlowListener(FlowListener listener)
Deprecated.
|
void |
removeRecoveryListener(RecoveryListener listener) |
boolean |
removeReturnListener(ReturnListener listener)
Remove a
ReturnListener . |
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.
|
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.
|
public AutorecoveringChannel(AutorecoveringConnection connection, RecoveryAwareChannelN delegate)
public int getChannelNumber()
Channel
getChannelNumber
in interface Channel
public Connection getConnection()
Channel
getConnection
in interface Channel
Connection
public Channel getDelegate()
public void close() throws java.io.IOException, java.util.concurrent.TimeoutException
Channel
AMQP.REPLY_SUCCESS
close code
and message 'OK'.public void close(int closeCode, java.lang.String closeMessage) throws java.io.IOException, java.util.concurrent.TimeoutException
Channel
@Deprecated public boolean flowBlocked()
Channel
flowBlocked
in interface Channel
public void abort() throws java.io.IOException
Channel
AMQP.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.public void abort(int closeCode, java.lang.String closeMessage) throws java.io.IOException
Channel
public void addReturnListener(ReturnListener listener)
Channel
ReturnListener
.addReturnListener
in interface Channel
listener
- the listener to addpublic boolean removeReturnListener(ReturnListener listener)
Channel
ReturnListener
.removeReturnListener
in interface Channel
listener
- the listener to removetrue
if the listener was found and removed,
false
otherwisepublic void clearReturnListeners()
Channel
ReturnListener
s.clearReturnListeners
in interface Channel
@Deprecated public void addFlowListener(FlowListener listener)
Channel
FlowListener
.
Deprecated, superseded by TCP back pressure.addFlowListener
in interface Channel
listener
- the listener to add@Deprecated public boolean removeFlowListener(FlowListener listener)
Channel
FlowListener
.
Deprecated, superseded by TCP back pressure.removeFlowListener
in interface Channel
listener
- the listener to removetrue
if the listener was found and removed,
false
otherwise@Deprecated public void clearFlowListeners()
Channel
FlowListener
s.
Deprecated, superseded by TCP back pressure.clearFlowListeners
in interface Channel
public void addConfirmListener(ConfirmListener listener)
Channel
ConfirmListener
.addConfirmListener
in interface Channel
listener
- the listener to addpublic boolean removeConfirmListener(ConfirmListener listener)
Channel
ConfirmListener
.removeConfirmListener
in interface Channel
listener
- the listener to removetrue
if the listener was found and removed,
false
otherwisepublic void clearConfirmListeners()
Channel
ConfirmListener
s.clearConfirmListeners
in interface Channel
public Consumer getDefaultConsumer()
Channel
getDefaultConsumer
in interface Channel
public void setDefaultConsumer(Consumer consumer)
Channel
setDefaultConsumer
in interface Channel
consumer
- the consumer to use, or null indicating "don't use one".public void basicQos(int prefetchSize, int prefetchCount, boolean global) throws java.io.IOException
Channel
basicQos
in interface Channel
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 consumerjava.io.IOException
- if an error is encounteredAMQP.Basic.Qos
public void basicQos(int prefetchCount) throws java.io.IOException
Channel
basicQos
in interface Channel
prefetchCount
- maximum number of messages that the server
will deliver, 0 if unlimitedjava.io.IOException
- if an error is encounteredChannel.basicQos(int, int, boolean)
public void basicQos(int prefetchCount, boolean global) throws java.io.IOException
Channel
basicQos
in interface Channel
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 consumerjava.io.IOException
- if an error is encounteredChannel.basicQos(int, int, boolean)
public void basicPublish(java.lang.String exchange, java.lang.String routingKey, AMQP.BasicProperties props, byte[] body) throws java.io.IOException
Channel
Channel#basicPublish
will eventually block if a
resource-driven alarm is in effect.basicPublish
in interface Channel
exchange
- the exchange to publish the message toroutingKey
- the routing keyprops
- other properties for the message - routing headers etcbody
- the message bodyjava.io.IOException
- if an error is encounteredAMQP.Basic.Publish
,
Resource-driven alarms.public void basicPublish(java.lang.String exchange, java.lang.String routingKey, boolean mandatory, AMQP.BasicProperties props, byte[] body) throws java.io.IOException
Channel
Channel#basicPublish
will eventually block if a
resource-driven alarm is in effect.basicPublish
in interface Channel
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 bodyjava.io.IOException
- if an error is encounteredAMQP.Basic.Publish
,
Resource-driven alarms.public void basicPublish(java.lang.String exchange, java.lang.String routingKey, boolean mandatory, boolean immediate, AMQP.BasicProperties props, byte[] body) throws java.io.IOException
Channel
Channel#basicPublish
will eventually block if a
resource-driven alarm is in effect.basicPublish
in interface Channel
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 bodyjava.io.IOException
- if an error is encounteredAMQP.Basic.Publish
,
Resource-driven alarms.public AMQP.Exchange.DeclareOk exchangeDeclare(java.lang.String exchange, java.lang.String type) throws java.io.IOException
Channel
exchangeDeclare
in interface Channel
exchange
- the name of the exchangetype
- the exchange typejava.io.IOException
- if an error is encounteredAMQP.Exchange.Declare
,
AMQP.Exchange.DeclareOk
public AMQP.Exchange.DeclareOk exchangeDeclare(java.lang.String exchange, java.lang.String type, boolean durable) throws java.io.IOException
Channel
exchangeDeclare
in interface Channel
exchange
- the name of the exchangetype
- the exchange typedurable
- true if we are declaring a durable exchange (the exchange will survive a server restart)java.io.IOException
- if an error is encounteredAMQP.Exchange.Declare
,
AMQP.Exchange.DeclareOk
public AMQP.Exchange.DeclareOk exchangeDeclare(java.lang.String exchange, java.lang.String type, boolean durable, boolean autoDelete, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
exchangeDeclare
in interface Channel
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 exchangejava.io.IOException
- if an error is encounteredAMQP.Exchange.Declare
,
AMQP.Exchange.DeclareOk
public AMQP.Exchange.DeclareOk exchangeDeclare(java.lang.String exchange, java.lang.String type, boolean durable, boolean autoDelete, boolean internal, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
exchangeDeclare
in interface Channel
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 exchangejava.io.IOException
- if an error is encounteredAMQP.Exchange.Declare
,
AMQP.Exchange.DeclareOk
public void exchangeDeclareNoWait(java.lang.String exchange, java.lang.String type, boolean durable, boolean autoDelete, boolean internal, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
Channel.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).exchangeDeclareNoWait
in interface Channel
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 exchangejava.io.IOException
- if an error is encounteredpublic AMQP.Exchange.DeclareOk exchangeDeclarePassive(java.lang.String name) throws java.io.IOException
Channel
exchangeDeclarePassive
in interface Channel
name
- check the existence of an exchange named thisjava.io.IOException
- the server will raise a 404 channel exception if the named exchange does not exist.public AMQP.Exchange.DeleteOk exchangeDelete(java.lang.String exchange, boolean ifUnused) throws java.io.IOException
Channel
exchangeDelete
in interface Channel
exchange
- the name of the exchangeifUnused
- true to indicate that the exchange is only to be deleted if it is unusedjava.io.IOException
- if an error is encounteredAMQP.Exchange.Delete
,
AMQP.Exchange.DeleteOk
public void exchangeDeleteNoWait(java.lang.String exchange, boolean ifUnused) throws java.io.IOException
Channel
Channel.exchangeDelete(String, boolean)
but sets nowait parameter to true
and returns void (as there will be no response from the server).exchangeDeleteNoWait
in interface Channel
exchange
- the name of the exchangeifUnused
- true to indicate that the exchange is only to be deleted if it is unusedjava.io.IOException
- if an error is encounteredAMQP.Exchange.Delete
,
AMQP.Exchange.DeleteOk
public AMQP.Exchange.DeleteOk exchangeDelete(java.lang.String exchange) throws java.io.IOException
Channel
exchangeDelete
in interface Channel
exchange
- the name of the exchangejava.io.IOException
- if an error is encounteredAMQP.Exchange.Delete
,
AMQP.Exchange.DeleteOk
public AMQP.Exchange.BindOk exchangeBind(java.lang.String destination, java.lang.String source, java.lang.String routingKey) throws java.io.IOException
Channel
exchangeBind
in interface Channel
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 routine key to use for the bindingjava.io.IOException
- if an error is encounteredAMQP.Exchange.Bind
,
AMQP.Exchange.BindOk
public AMQP.Exchange.BindOk exchangeBind(java.lang.String destination, java.lang.String source, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
exchangeBind
in interface Channel
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 routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredAMQP.Exchange.Bind
,
AMQP.Exchange.BindOk
public void exchangeBindNoWait(java.lang.String destination, java.lang.String source, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
Channel.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).exchangeBindNoWait
in interface Channel
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 routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredpublic AMQP.Exchange.UnbindOk exchangeUnbind(java.lang.String destination, java.lang.String source, java.lang.String routingKey) throws java.io.IOException
Channel
exchangeUnbind
in interface Channel
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 routine key to use for the bindingjava.io.IOException
- if an error is encounteredAMQP.Exchange.Bind
,
AMQP.Exchange.BindOk
public AMQP.Exchange.UnbindOk exchangeUnbind(java.lang.String destination, java.lang.String source, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
exchangeUnbind
in interface Channel
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 routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredAMQP.Exchange.Bind
,
AMQP.Exchange.BindOk
public void exchangeUnbindNoWait(java.lang.String destination, java.lang.String source, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
Channel.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).exchangeUnbindNoWait
in interface Channel
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 routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredpublic AMQP.Queue.DeclareOk queueDeclare() throws java.io.IOException
Channel
AMQP.Queue.DeclareOk
result.queueDeclare
in interface Channel
java.io.IOException
- if an error is encounteredAMQP.Queue.Declare
,
AMQP.Queue.DeclareOk
public AMQP.Queue.DeclareOk queueDeclare(java.lang.String queue, boolean durable, boolean exclusive, boolean autoDelete, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
queueDeclare
in interface Channel
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 queuejava.io.IOException
- if an error is encounteredAMQP.Queue.Declare
,
AMQP.Queue.DeclareOk
public void queueDeclareNoWait(java.lang.String queue, boolean durable, boolean exclusive, boolean autoDelete, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
Channel.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).queueDeclareNoWait
in interface Channel
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 queuejava.io.IOException
- if an error is encounteredpublic AMQP.Queue.DeclareOk queueDeclarePassive(java.lang.String queue) throws java.io.IOException
Channel
queueDeclarePassive
in interface Channel
queue
- the name of the queuejava.io.IOException
- if an error is encountered,
including if the queue does not exist and if the queue is
exclusively owned by another connection.AMQP.Queue.Declare
,
AMQP.Queue.DeclareOk
public AMQP.Queue.DeleteOk queueDelete(java.lang.String queue) throws java.io.IOException
Channel
queueDelete
in interface Channel
queue
- the name of the queuejava.io.IOException
- if an error is encounteredAMQP.Queue.Delete
,
AMQP.Queue.DeleteOk
public AMQP.Queue.DeleteOk queueDelete(java.lang.String queue, boolean ifUnused, boolean ifEmpty) throws java.io.IOException
Channel
queueDelete
in interface Channel
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 emptyjava.io.IOException
- if an error is encounteredAMQP.Queue.Delete
,
AMQP.Queue.DeleteOk
public void queueDeleteNoWait(java.lang.String queue, boolean ifUnused, boolean ifEmpty) throws java.io.IOException
Channel
Channel.queueDelete(String, boolean, boolean)
but sets nowait parameter
to true and returns nothing (as there will be no response from the server).queueDeleteNoWait
in interface Channel
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 emptyjava.io.IOException
- if an error is encounteredAMQP.Queue.Delete
,
AMQP.Queue.DeleteOk
public AMQP.Queue.BindOk queueBind(java.lang.String queue, java.lang.String exchange, java.lang.String routingKey) throws java.io.IOException
Channel
queueBind
in interface Channel
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routine key to use for the bindingjava.io.IOException
- if an error is encounteredAMQP.Queue.Bind
,
AMQP.Queue.BindOk
public AMQP.Queue.BindOk queueBind(java.lang.String queue, java.lang.String exchange, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
queueBind
in interface Channel
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredAMQP.Queue.Bind
,
AMQP.Queue.BindOk
public void queueBindNoWait(java.lang.String queue, java.lang.String exchange, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
Channel.queueDeclare(String, boolean, boolean, boolean, java.util.Map)
but sets nowait
parameter to true and returns void (as there will be no response
from the server).queueBindNoWait
in interface Channel
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredpublic AMQP.Queue.UnbindOk queueUnbind(java.lang.String queue, java.lang.String exchange, java.lang.String routingKey) throws java.io.IOException
Channel
queueUnbind
in interface Channel
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routine key to use for the bindingjava.io.IOException
- if an error is encounteredAMQP.Queue.Unbind
,
AMQP.Queue.UnbindOk
public AMQP.Queue.UnbindOk queueUnbind(java.lang.String queue, java.lang.String exchange, java.lang.String routingKey, java.util.Map<java.lang.String,java.lang.Object> arguments) throws java.io.IOException
Channel
queueUnbind
in interface Channel
queue
- the name of the queueexchange
- the name of the exchangeroutingKey
- the routine key to use for the bindingarguments
- other properties (binding parameters)java.io.IOException
- if an error is encounteredAMQP.Queue.Unbind
,
AMQP.Queue.UnbindOk
public AMQP.Queue.PurgeOk queuePurge(java.lang.String queue) throws java.io.IOException
Channel
queuePurge
in interface Channel
queue
- the name of the queuejava.io.IOException
- if an error is encounteredAMQP.Queue.Purge
,
AMQP.Queue.PurgeOk
public GetResponse basicGet(java.lang.String queue, boolean autoAck) throws java.io.IOException
Channel
AMQP.Basic.Get
basicGet
in interface Channel
queue
- the name of the queueautoAck
- true if the server should consider messages
acknowledged once delivered; false if the server should expect
explicit acknowledgementsGetResponse
containing the retrieved message datajava.io.IOException
- if an error is encounteredAMQP.Basic.Get
,
AMQP.Basic.GetOk
,
AMQP.Basic.GetEmpty
public void basicAck(long deliveryTag, boolean multiple) throws java.io.IOException
Channel
AMQP.Basic.GetOk
or AMQP.Basic.Deliver
method
containing the received message being acknowledged.basicAck
in interface Channel
deliveryTag
- the tag from the received AMQP.Basic.GetOk
or AMQP.Basic.Deliver
multiple
- true to acknowledge all messages up to and
including the supplied delivery tag; false to acknowledge just
the supplied delivery tag.java.io.IOException
- if an error is encounteredAMQP.Basic.Ack
public void basicNack(long deliveryTag, boolean multiple, boolean requeue) throws java.io.IOException
Channel
deliveryTag
from the AMQP.Basic.GetOk
or AMQP.Basic.GetOk
method containing the message to be rejected.basicNack
in interface Channel
deliveryTag
- the tag from the received AMQP.Basic.GetOk
or AMQP.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-letteredjava.io.IOException
- if an error is encounteredAMQP.Basic.Nack
public void basicReject(long deliveryTag, boolean requeue) throws java.io.IOException
Channel
AMQP.Basic.GetOk
or AMQP.Basic.Deliver
method
containing the received message being rejected.basicReject
in interface Channel
deliveryTag
- the tag from the received AMQP.Basic.GetOk
or AMQP.Basic.Deliver
requeue
- true if the rejected message should be requeued rather than discarded/dead-letteredjava.io.IOException
- if an error is encounteredAMQP.Basic.Reject
public java.lang.String basicConsume(java.lang.String queue, Consumer callback) throws java.io.IOException
Channel
basicConsume
in interface Channel
queue
- the name of the queuecallback
- an interface to the consumer objectjava.io.IOException
- if an error is encounteredAMQP.Basic.Consume
,
AMQP.Basic.ConsumeOk
,
Channel.basicAck(long, boolean)
,
Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
public java.lang.String basicConsume(java.lang.String queue, boolean autoAck, Consumer callback) throws java.io.IOException
Channel
basicConsume
in interface Channel
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 objectjava.io.IOException
- if an error is encounteredAMQP.Basic.Consume
,
AMQP.Basic.ConsumeOk
,
Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
public java.lang.String basicConsume(java.lang.String queue, boolean autoAck, java.lang.String consumerTag, Consumer callback) throws java.io.IOException
Channel
basicConsume
in interface Channel
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 objectjava.io.IOException
- if an error is encounteredAMQP.Basic.Consume
,
AMQP.Basic.ConsumeOk
,
Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
public java.lang.String basicConsume(java.lang.String queue, boolean autoAck, java.util.Map<java.lang.String,java.lang.Object> arguments, Consumer callback) throws java.io.IOException
Channel
basicConsume
in interface Channel
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 objectjava.io.IOException
- if an error is encounteredAMQP.Basic.Consume
,
AMQP.Basic.ConsumeOk
,
Channel.basicConsume(String, boolean, String, boolean, boolean, Map, Consumer)
public java.lang.String basicConsume(java.lang.String queue, boolean autoAck, java.lang.String consumerTag, boolean noLocal, boolean exclusive, java.util.Map<java.lang.String,java.lang.Object> arguments, Consumer callback) throws java.io.IOException
Channel
Consumer.handleConsumeOk(java.lang.String)
method.basicConsume
in interface Channel
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 objectjava.io.IOException
- if an error is encounteredAMQP.Basic.Consume
,
AMQP.Basic.ConsumeOk
public void basicCancel(java.lang.String consumerTag) throws java.io.IOException
Channel
Consumer.handleCancelOk(java.lang.String)
method.basicCancel
in interface Channel
consumerTag
- a client- or server-generated consumer tag to establish contextjava.io.IOException
- if an error is encountered, or if the consumerTag is unknownAMQP.Basic.Cancel
,
AMQP.Basic.CancelOk
public AMQP.Basic.RecoverOk basicRecover() throws java.io.IOException
Channel
basicRecover(true)
, messages
will be requeued and possibly delivered to a different consumer.basicRecover
in interface Channel
java.io.IOException
Channel.basicRecover(boolean)
public AMQP.Basic.RecoverOk basicRecover(boolean requeue) throws java.io.IOException
Channel
basicRecover
in interface Channel
requeue
- If true, messages will be requeued and possibly
delivered to a different consumer. If false, messages will be
redelivered to the same consumer.java.io.IOException
public AMQP.Tx.SelectOk txSelect() throws java.io.IOException
Channel
txSelect
in interface Channel
java.io.IOException
- if an error is encounteredAMQP.Tx.Select
,
AMQP.Tx.SelectOk
public AMQP.Tx.CommitOk txCommit() throws java.io.IOException
Channel
txCommit
in interface Channel
java.io.IOException
- if an error is encounteredAMQP.Tx.Commit
,
AMQP.Tx.CommitOk
public AMQP.Tx.RollbackOk txRollback() throws java.io.IOException
Channel
txRollback
in interface Channel
java.io.IOException
- if an error is encounteredAMQP.Tx.Rollback
,
AMQP.Tx.RollbackOk
public AMQP.Confirm.SelectOk confirmSelect() throws java.io.IOException
Channel
confirmSelect
in interface Channel
java.io.IOException
- if an error is encounteredAMQP.Confirm.Select
public long getNextPublishSeqNo()
Channel
getNextPublishSeqNo
in interface Channel
public boolean waitForConfirms() throws java.lang.InterruptedException
Channel
waitForConfirms
in interface Channel
java.lang.InterruptedException
public boolean waitForConfirms(long timeout) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException
Channel
waitForConfirms
in interface Channel
java.lang.InterruptedException
java.util.concurrent.TimeoutException
public void waitForConfirmsOrDie() throws java.io.IOException, java.lang.InterruptedException
Channel
waitForConfirmsOrDie
in interface Channel
java.io.IOException
java.lang.InterruptedException
public void waitForConfirmsOrDie(long timeout) throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.TimeoutException
Channel
waitForConfirmsOrDie
in interface Channel
java.io.IOException
java.lang.InterruptedException
java.util.concurrent.TimeoutException
public void asyncRpc(Method method) throws java.io.IOException
Channel
public Command rpc(Method method) throws java.io.IOException
Channel
public void addShutdownListener(ShutdownListener listener)
ShutdownNotifier
addShutdownListener
in interface ShutdownNotifier
listener
- ShutdownListener
to the componentShutdownNotifier.addShutdownListener(com.rabbitmq.client.ShutdownListener)
public void removeShutdownListener(ShutdownListener listener)
ShutdownNotifier
removeShutdownListener
in interface ShutdownNotifier
listener
- ShutdownListener
to be removedpublic ShutdownSignalException getCloseReason()
ShutdownNotifier
getCloseReason
in interface ShutdownNotifier
public void notifyListeners()
ShutdownNotifier
notifyListeners
in interface ShutdownNotifier
ShutdownListener
public boolean isOpen()
ShutdownNotifier
isOpen
in interface ShutdownNotifier
public void addRecoveryListener(RecoveryListener listener)
Recoverable
addRecoveryListener
in interface Recoverable
listener
- Callback functionpublic void removeRecoveryListener(RecoveryListener listener)
removeRecoveryListener
in interface Recoverable
public void automaticallyRecover(AutorecoveringConnection connection, Connection connDelegate) throws java.io.IOException
java.io.IOException