|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.rabbitmq.client.RpcClient
public class RpcClient
Convenience class which manages a temporary reply queue for simple RPC-style communication. The class is agnostic about the format of RPC arguments / return values. It simply provides a mechanism for sending a message to an exchange with a given routing key, and waiting for a response on a reply queue.
| Constructor Summary | |
|---|---|
RpcClient(Channel channel,
java.lang.String exchange,
java.lang.String routingKey)
Construct a new RpcClient that will communicate on the given channel, sending requests to the given exchange with the given routing key. |
|
| Method Summary | |
|---|---|
void |
checkConsumer()
Private API - ensures the RpcClient is correctly open. |
void |
close()
Public API - cancels the consumer, thus deleting the temporary queue, and marks the RpcClient as closed. |
Channel |
getChannel()
Retrieve the channel. |
Consumer |
getConsumer()
Retrieve the consumer. |
java.util.Map<java.lang.String,BlockingCell<java.lang.Object>> |
getContinuationMap()
Retrieve the continuation map. |
int |
getCorrelationId()
Retrieve the correlation id. |
java.lang.String |
getExchange()
Retrieve the exchange. |
java.lang.String |
getReplyQueue()
Retrieve the reply queue. |
java.lang.String |
getRoutingKey()
Retrieve the routing key. |
java.util.Map<java.lang.String,java.lang.Object> |
mapCall(java.util.Map<java.lang.String,java.lang.Object> message)
Perform an AMQP wire-protocol-table based RPC roundtrip There are some restrictions on the values appearing in the table: they must be of type String, LongString, Integer, BigDecimal, Date,
or (recursively) a Map of the enclosing type. |
java.util.Map<java.lang.String,java.lang.Object> |
mapCall(java.lang.Object[] keyValuePairs)
Perform an AMQP wire-protocol-table based RPC roundtrip, first constructing the table from an array of alternating keys (in even-numbered elements, starting at zero) and values (in odd-numbered elements, starting at one) Restrictions on value arguments apply as in mapCall(Map). |
byte[] |
primitiveCall(AMQP.BasicProperties props,
byte[] message)
|
byte[] |
primitiveCall(byte[] message)
Perform a simple byte-array-based RPC roundtrip. |
void |
publish(AMQP.BasicProperties props,
byte[] message)
|
protected DefaultConsumer |
setupConsumer()
Registers a consumer on the reply queue. |
protected java.lang.String |
setupReplyQueue()
Creates a server-named exclusive autodelete queue to use for receiving replies to RPC requests. |
java.lang.String |
stringCall(java.lang.String message)
Perform a simple string-based RPC roundtrip. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RpcClient(Channel channel,
java.lang.String exchange,
java.lang.String routingKey)
throws java.io.IOException
Causes the creation of a temporary private autodelete queue.
channel - the channel to use for communicationexchange - the exchange to connect toroutingKey - the routing key
java.io.IOException - if an error is encounteredsetupReplyQueue()| Method Detail |
|---|
public void checkConsumer()
throws java.io.IOException
java.io.IOException - if an error is encountered
public void close()
throws java.io.IOException
java.io.IOException - if an error is encountered
protected java.lang.String setupReplyQueue()
throws java.io.IOException
java.io.IOException - if an error is encountered
protected DefaultConsumer setupConsumer()
throws java.io.IOException
java.io.IOException - if an error is encountered
public void publish(AMQP.BasicProperties props,
byte[] message)
throws java.io.IOException
java.io.IOException
public byte[] primitiveCall(AMQP.BasicProperties props,
byte[] message)
throws java.io.IOException,
ShutdownSignalException
java.io.IOException
ShutdownSignalException
public byte[] primitiveCall(byte[] message)
throws java.io.IOException,
ShutdownSignalException
message - the byte array request message to send
ShutdownSignalException - if the connection dies during our wait
java.io.IOException - if an error is encountered
public java.lang.String stringCall(java.lang.String message)
throws java.io.IOException,
ShutdownSignalException
message - the string request message to send
ShutdownSignalException - if the connection dies during our wait
java.io.IOException - if an error is encountered
public java.util.Map<java.lang.String,java.lang.Object> mapCall(java.util.Map<java.lang.String,java.lang.Object> message)
throws java.io.IOException,
ShutdownSignalException
String, LongString, Integer, BigDecimal, Date,
or (recursively) a Map of the enclosing type.
message - the table to send
ShutdownSignalException - if the connection dies during our wait
java.io.IOException - if an error is encountered
public java.util.Map<java.lang.String,java.lang.Object> mapCall(java.lang.Object[] keyValuePairs)
throws java.io.IOException,
ShutdownSignalException
mapCall(Map).
keyValuePairs - alternating {key, value, key, value, ...} data to send
ShutdownSignalException - if the connection dies during our wait
java.io.IOException - if an error is encounteredpublic Channel getChannel()
public java.lang.String getExchange()
public java.lang.String getRoutingKey()
public java.util.Map<java.lang.String,BlockingCell<java.lang.Object>> getContinuationMap()
public int getCorrelationId()
public java.lang.String getReplyQueue()
public Consumer getConsumer()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||