AzureStorageUtils.setProxy(operationContext, context); retrievedMessagesIterable = cloudQueue.retrieveMessages(batchSize, visibilityTimeoutInSecs, null, operationContext); } catch (URISyntaxException | StorageException e) { getLogger().error("Failed to retrieve messages from the provided Azure Storage Queue due to {}", new Object[] {e});
/** * Retrieves the specified number of messages from the front of the queue using the default request options. This * operation marks the retrieved messages as invisible in the queue for the default visibility timeout period. * * @param numberOfMessages * The number of messages to retrieve. * * @return An enumerable collection of {@link CloudQueueMessage} objects that represents the retrieved messages from * the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public Iterable<CloudQueueMessage> retrieveMessages(final int numberOfMessages) throws StorageException { return this.retrieveMessages(numberOfMessages, QueueConstants.DEFAULT_VISIBILITY_MESSAGE_TIMEOUT_IN_SECONDS, null /* options */, null /* opContext */); }
/** * Retrieves the specified number of messages from the front of the queue using the default request options. This * operation marks the retrieved messages as invisible in the queue for the default visibility timeout period. * * @param numberOfMessages * The number of messages to retrieve. * * @return An enumerable collection of {@link CloudQueueMessage} objects that represents the retrieved messages from * the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public Iterable<CloudQueueMessage> retrieveMessages(final int numberOfMessages) throws StorageException { return this.retrieveMessages(numberOfMessages, QueueConstants.DEFAULT_VISIBILITY_MESSAGE_TIMEOUT_IN_SECONDS, null /* options */, null /* opContext */); }
/** * Retrieves a message from the front of the queue, using the specified request options and operation context. This * operation marks the retrieved message as invisible in the queue for the specified visibility timeout period. * * @param visibilityTimeoutInSeconds * Specifies the visibility timeout for the message, in seconds. * * @param options * A {@link QueueRequestOptions} object that specifies any additional options for the request. Specifying * <code>null</code> will use the default request options from the associated service client ( * {@link CloudQueueClient}). * @param opContext * An {@link OperationContext} object that represents the context for the current operation. This object * is used to track requests to the storage service, and to provide additional runtime information about * the operation. * * @return An {@link CloudQueueMessage} object that represents a message in this queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public CloudQueueMessage retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options, final OperationContext opContext) throws StorageException { return getFirstOrNull(this.retrieveMessages(1, visibilityTimeoutInSeconds, options, opContext)); }
/** * Retrieves a message from the front of the queue, using the specified request options and operation context. This * operation marks the retrieved message as invisible in the queue for the specified visibility timeout period. * * @param visibilityTimeoutInSeconds * Specifies the visibility timeout for the message, in seconds. * * @param options * A {@link QueueRequestOptions} object that specifies any additional options for the request. Specifying * <code>null</code> will use the default request options from the associated service client ( * {@link CloudQueueClient}). * @param opContext * An {@link OperationContext} object that represents the context for the current operation. This object * is used to track requests to the storage service, and to provide additional runtime information about * the operation. * * @return An {@link CloudQueueMessage} object that represents a message in this queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public CloudQueueMessage retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options, final OperationContext opContext) throws StorageException { return getFirstOrNull(this.retrieveMessages(1, visibilityTimeoutInSeconds, options, opContext)); }
public Iterable<CloudQueueMessage> retrieveMessages(String queueName, int numberOfMessages, int visibilityTimeoutInSeconds) throws InvalidKeyException, URISyntaxException, StorageException { CloudQueueClient client = connection.getCloudStorageAccount().createCloudQueueClient(); CloudQueue queueRef = client.getQueueReference(queueName); return queueRef.retrieveMessages(numberOfMessages, visibilityTimeoutInSeconds, null, AzureStorageUtils.getTalendOperationContext()); }
public Iterable<CloudQueueMessage> retrieveMessages(String queueName, int numberOfMessages, int visibilityTimeoutInSeconds) throws InvalidKeyException, URISyntaxException, StorageException { CloudQueueClient client = connection.getCloudStorageAccount().createCloudQueueClient(); CloudQueue queueRef = client.getQueueReference(queueName); return queueRef.retrieveMessages(numberOfMessages, visibilityTimeoutInSeconds, null, AzureStorageUtils.getTalendOperationContext()); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testRetrieveMessagesInvalidInput() throws StorageException { for (int i = 0; i < 33; i++) { this.queue.addMessage(new CloudQueueMessage("test" + i)); } this.queue.retrieveMessages(1, 1, null, null); this.queue.retrieveMessages(32, 1, null, null); try { this.queue.retrieveMessages(-1); fail(); } catch (final IllegalArgumentException e) { } try { this.queue.retrieveMessages(0); fail(); } catch (final IllegalArgumentException e) { } try { this.queue.retrieveMessages(33); fail(); } catch (final IllegalArgumentException e) { } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testRetrieveMessagesFromEmptyQueue() throws StorageException { for (CloudQueueMessage m : this.queue.retrieveMessages(32)) { assertTrue(m.getId() != null); assertTrue(m.getPopReceipt() == null); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testRetrieveMessagesNonFound() throws StorageException, URISyntaxException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); try { queue.retrieveMessages(1); fail(); } catch (StorageException e) { assertTrue(e.getHttpStatusCode() == HttpURLConnection.HTTP_NOT_FOUND); } }
queue.retrieveMessages(3, 1, null, null);
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testUpdateMessageWithContentChange() throws StorageException { CloudQueueMessage message1 = new CloudQueueMessage("messagetest1"); this.queue.addMessage(message1); CloudQueueMessage message2 = new CloudQueueMessage("messagetest2"); this.queue.addMessage(message2); for (CloudQueueMessage message : this.queue.retrieveMessages(32)) { OperationContext oc = new OperationContext(); message.setMessageContent(message.getMessageContentAsString() + "updated"); this.queue.updateMessage(message, 100, EnumSet.of(MessageUpdateFields.CONTENT), null, oc); assertEquals(oc.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testRetrieveMessages() throws StorageException { CloudQueueMessage message1 = new CloudQueueMessage("messagetest1"); this.queue.addMessage(message1); CloudQueueMessage message2 = new CloudQueueMessage("messagetest2"); this.queue.addMessage(message2); for (CloudQueueMessage m : this.queue.retrieveMessages(32)) { assertTrue(m.getId() != null); assertTrue(m.getPopReceipt() != null); } }
Iterable<CloudQueueMessage> messagesFromRetrieveMessages = this.queue.retrieveMessages(messageLength); count = 0; for (CloudQueueMessage message : messagesFromRetrieveMessages) { messagesFromRetrieveMessages = this.queue.retrieveMessages(messageLength, 5, null, null); count = 0; for (CloudQueueMessage message : messagesFromRetrieveMessages) {
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testDeleteMessage() throws StorageException { CloudQueueMessage message1 = new CloudQueueMessage("messagetest1"); this.queue.addMessage(message1); CloudQueueMessage message2 = new CloudQueueMessage("messagetest2"); this.queue.addMessage(message2); for (CloudQueueMessage message : this.queue.retrieveMessages(32)) { OperationContext deleteQueueContext = new OperationContext(); this.queue.deleteMessage(message, null, deleteQueueContext); assertEquals(deleteQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } assertTrue(this.queue.retrieveMessage() == null); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testUpdateMessage() throws StorageException { this.queue.clear(); String messageContent = "messagetest"; CloudQueueMessage message1 = new CloudQueueMessage(messageContent); this.queue.addMessage(message1); CloudQueueMessage message2 = new CloudQueueMessage(messageContent); this.queue.addMessage(message2); String newMesage = message1.getMessageContentAsString() + "updated"; for (CloudQueueMessage message : this.queue.retrieveMessages(32)) { OperationContext oc = new OperationContext(); message.setMessageContent(newMesage); this.queue.updateMessage(message, 0, EnumSet.of(MessageUpdateFields.VISIBILITY), null, oc); assertEquals(oc.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); CloudQueueMessage messageFromGet = this.queue.retrieveMessage(); assertEquals(messageFromGet.getMessageContentAsString(), messageContent); } }