## org.hornetq.api.core.client
Class ClientRequestor

    java.lang.Object
      org.hornetq.api.core.client.ClientRequestor

    public class ClientRequestor

extends Object

The ClientRequestor class helps making requests.
The ClientRequestor constructor is given a ClientSession and a request address. It creates a temporary queue for the responses and provides a request method that sends the request message and waits for its reply.

Author:
  Jeff Mesnil

Constructor Summary
`ClientRequestor(ClientSession session, SimpleString requestAddress)` Constructor for the ClientRequestor.
`ClientRequestor(ClientSession session, String requestAddress)`

Method Summary
`void` `close()` Closes the ClientRequestor and its session.
`ClientMessage` `request(ClientMessage request)` Sends a message to the request address and wait indefinitely for a reply.
`ClientMessage` `request(ClientMessage request, long timeout)` Sends a message to the request address and wait for the given timeout for a reply.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ClientRequestor

    public ClientRequestor(ClientSession session,
                           SimpleString requestAddress)
                    throws Exception

  Constructor for the ClientRequestor. The implementation expects a ClientSession with automatic commits of sends and acknowledgements

  Parameters:
    `session` - a ClientSession uses to handle requests and replies
    `requestAddress` - the address to send request messages to
  Throws:
    `Exception`

### ClientRequestor

    public ClientRequestor(ClientSession session,
                           String requestAddress)
                    throws Exception

Throws:
  `Exception`
See Also:
  `ClientRequestor(ClientSession, SimpleString)`

Method Detail

### request

    public ClientMessage request(ClientMessage request)
                          throws Exception

  Sends a message to the request address and wait indefinitely for a reply. The temporary queue is used for the REPLYTO_HEADER_NAME, and only one reply per request is expected

  Parameters:
    `request` - the message to send
  Returns:
    the reply message
  Throws:
    `Exception`

### request

    public ClientMessage request(ClientMessage request,
                                 long timeout)
                          throws Exception

  Sends a message to the request address and wait for the given timeout for a reply. The temporary queue is used for the REPLYTO_HEADER_NAME, and only one reply per request is expected

  Parameters:
    `request` - the message to send
    `timeout` - the timeout to wait for a reply (in milliseconds)
  Returns:
    the reply message or `null` if no message is replied before the timeout elapses
  Throws:
    `Exception`

### close

    public void close()
               throws Exception

  Closes the ClientRequestor and its session.

  Throws:
    `Exception` - if an exception occurs while closing the ClientRequestor

Copyright © 2009 Red Hat Inc. All Rights Reserved.