com.shephertz.app42.paas.sdk.jme.message
Class QueueService

java.lang.Object
  extended by com.shephertz.app42.paas.sdk.jme.message.QueueService

public class QueueService
extends java.lang.Object

Manages Asynchronous queues. Allows to create, delete, purge messages, view pending messages and get all messages

See Also:
Queue

Constructor Summary
QueueService(java.lang.String apiKey, java.lang.String secretKey, java.lang.String baseURL)
          this is a constructor that takes
 
Method Summary
 Queue createPullQueue(java.lang.String queueName, java.lang.String queueDescription)
          Creates a type Pull Queue
 App42Response deletePullQueue(java.lang.String queueName)
          Deletes the Pull type Queue
 Queue getMessages(java.lang.String queueName, long receiveTimeOut)
          Messages are retrieved and dequeued from the Queue.
 Queue pendingMessages(java.lang.String queueName)
          Messages which are pending to be dequeue.
 App42Response purgePullQueue(java.lang.String queueName)
          Purges message on the Queue.
 Queue receiveMessage(java.lang.String queueName, long receiveTimeOut)
          Pulls all the message from the queue
 Queue receiveMessageByCorrelationId(java.lang.String queueName, long receiveTimeOut, java.lang.String correlationId)
          Pull message based on the correlation id
 App42Response removeMessage(java.lang.String queueName, java.lang.String messageId)
          Remove message from the queue based on the message id.
 Queue sendMessage(java.lang.String queueName, java.lang.String msg, long exp)
          Send message on the queue with an expiry.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueueService

public QueueService(java.lang.String apiKey,
                    java.lang.String secretKey,
                    java.lang.String baseURL)
this is a constructor that takes

Parameters:
apiKey -
secretKey -
baseURL -
Method Detail

createPullQueue

public Queue createPullQueue(java.lang.String queueName,
                             java.lang.String queueDescription)
                      throws App42Exception
Creates a type Pull Queue

Parameters:
queueName - - The name of the queue which has to be created
queueDescription - - The description of the queue
Returns:
Queue object containing queue name which has been created
Throws:
App42Exception

deletePullQueue

public App42Response deletePullQueue(java.lang.String queueName)
                              throws App42Exception
Deletes the Pull type Queue

Parameters:
queueName - - The name of the queue which has to be deleted
Returns:
App42Response if deleted successfully
Throws:
App42Exception

getMessages

public Queue getMessages(java.lang.String queueName,
                         long receiveTimeOut)
                  throws App42Exception
Messages are retrieved and dequeued from the Queue.

Parameters:
queueName - - The name of the queue which have to be retrieved
receiveTimeOut - - Receive time out
Returns:
Queue object containing messages in the Queue
Throws:
App42Exception

pendingMessages

public Queue pendingMessages(java.lang.String queueName)
                      throws App42Exception
Messages which are pending to be dequeue. Note: Calling this method does not dequeue the messages in the Queue. The messages stay in the Queue till they are dequeued

Parameters:
queueName - - The name of the queue from which pending messages have to be fetched
Returns:
Queue object containing pending messages in the Queue
Throws:
App42Exception

purgePullQueue

public App42Response purgePullQueue(java.lang.String queueName)
                             throws App42Exception
Purges message on the Queue. Note: once the Queue is purged the messages are removed from the Queue and wont be available for dequeuing.

Parameters:
queueName - - The name of the queue which has to be purged
Returns:
App42Response object containing queue name which has been purged
Throws:
App42Exception

receiveMessage

public Queue receiveMessage(java.lang.String queueName,
                            long receiveTimeOut)
                     throws App42Exception
Pulls all the message from the queue

Parameters:
queueName - - The name of the queue from which messages have to be pulled
receiveTimeOut - - Receive time out
Returns:
Queue object containing messages which have been pulled
Throws:
App42Exception

receiveMessageByCorrelationId

public Queue receiveMessageByCorrelationId(java.lang.String queueName,
                                           long receiveTimeOut,
                                           java.lang.String correlationId)
                                    throws App42Exception
Pull message based on the correlation id

Parameters:
queueName - - The name of the queue from which the message has to be pulled
receiveTimeOut - - Receive time out
correlationId - - Correlation Id for which message has to be pulled
Returns:
Queue containing message which has pulled based on the correlation id
Throws:
App42Exception

removeMessage

public App42Response removeMessage(java.lang.String queueName,
                                   java.lang.String messageId)
                            throws App42Exception
Remove message from the queue based on the message id. Note: Once the message is removed it cannot be pulled

Parameters:
queueName - - The name of the queue from which the message has to be removed
messageId - - The message id of the message which has to be removed.
Returns:
App42Response if removed successfully
Throws:
App42Exception

sendMessage

public Queue sendMessage(java.lang.String queueName,
                         java.lang.String msg,
                         long exp)
                  throws App42Exception
Send message on the queue with an expiry. The message will expire if it is not pulled/dequeued before the expiry

Parameters:
queueName - - The name of the queue to which the message has to be sent
msg - - Message that has to be sent
exp - - Message expiry time
Returns:
Queue object containing message which has been sent with its message id and correlation id
Throws:
App42Exception