/** * Peeks a specified number of messages from the queue. A peek request retrieves messages from the front of the * queue without changing their visibility. * * @param numberOfMessages * The number of messages to retrieve. * * @return An enumerable collection of {@link CloudQueueMessage} objects that represents the requested messages from * the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public Iterable<CloudQueueMessage> peekMessages(final int numberOfMessages) throws StorageException { return this.peekMessages(numberOfMessages, null /* options */, null /* opContext */); }
/** * Peeks a specified number of messages from the queue. A peek request retrieves messages from the front of the * queue without changing their visibility. * * @param numberOfMessages * The number of messages to retrieve. * * @return An enumerable collection of {@link CloudQueueMessage} objects that represents the requested messages from * the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public Iterable<CloudQueueMessage> peekMessages(final int numberOfMessages) throws StorageException { return this.peekMessages(numberOfMessages, null /* options */, null /* opContext */); }
/** * Peeks a message from the queue, using the specified request options and operation context. A peek request * retrieves a message from the front of the queue without changing its visibility. * * @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 the requested message from the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public CloudQueueMessage peekMessage(final QueueRequestOptions options, final OperationContext opContext) throws StorageException { return getFirstOrNull(this.peekMessages(1, null /* options */, null /* opContext */)); }
/** * Peeks a message from the queue, using the specified request options and operation context. A peek request * retrieves a message from the front of the queue without changing its visibility. * * @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 the requested message from the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public CloudQueueMessage peekMessage(final QueueRequestOptions options, final OperationContext opContext) throws StorageException { return getFirstOrNull(this.peekMessages(1, null /* options */, null /* opContext */)); }
public Iterable<CloudQueueMessage> peekMessages(String queueName, int numberOfMessages) throws InvalidKeyException, URISyntaxException, StorageException { CloudQueueClient client = connection.getCloudStorageAccount().createCloudQueueClient(); CloudQueue queueRef = client.getQueueReference(queueName); return queueRef.peekMessages(numberOfMessages, null, AzureStorageUtils.getTalendOperationContext()); }
public Iterable<CloudQueueMessage> peekMessages(String queueName, int numberOfMessages) throws InvalidKeyException, URISyntaxException, StorageException { CloudQueueClient client = connection.getCloudStorageAccount().createCloudQueueClient(); CloudQueue queueRef = client.getQueueReference(queueName); return queueRef.peekMessages(numberOfMessages, null, AzureStorageUtils.getTalendOperationContext()); }
@NotNull public List<QueueMessage> getQueueMessages(@NotNull StorageAccount storageAccount, @NotNull Queue queue) throws AzureCmdException { List<QueueMessage> qmList = new ArrayList<QueueMessage>(); try { CloudQueueClient client = getCloudQueueClient(storageAccount); String queueName = queue.getName(); CloudQueue cloudQueue = client.getQueueReference(queueName); for (CloudQueueMessage cqm : cloudQueue.peekMessages(32)) { String id = Strings.nullToEmpty(cqm.getId()); String content = Strings.nullToEmpty(cqm.getMessageContentAsString()); Calendar insertionTime = new GregorianCalendar(); if (cqm.getInsertionTime() != null) { insertionTime.setTime(cqm.getInsertionTime()); } Calendar expirationTime = new GregorianCalendar(); if (cqm.getExpirationTime() != null) { expirationTime.setTime(cqm.getExpirationTime()); } int dequeueCount = cqm.getDequeueCount(); qmList.add(new QueueMessage(id, queueName, content, insertionTime, expirationTime, dequeueCount)); } return qmList; } catch (Throwable t) { throw new AzureCmdException("Error retrieving the Queue Message list", t); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testPeekMessagesInvalidInput() throws StorageException { for (int i = 0; i < 33; i++) { this.queue.addMessage(new CloudQueueMessage("test" + i)); } this.queue.peekMessages(1); this.queue.peekMessages(32); try { this.queue.peekMessages(-1); fail(); } catch (final IllegalArgumentException e) { } try { this.queue.peekMessages(0); fail(); } catch (final IllegalArgumentException e) { } try { this.queue.peekMessages(33); fail(); } catch (final IllegalArgumentException e) { } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testPeekMessagesNonFound() throws StorageException, URISyntaxException { CloudQueue queue = QueueTestHelper.getRandomQueueReference(); try { queue.peekMessages(1); fail(); } catch (StorageException e) { assertTrue(e.getHttpStatusCode() == HttpURLConnection.HTTP_NOT_FOUND); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testPeekMessagesFromEmptyQueue() throws StorageException { for (CloudQueueMessage m : this.queue.peekMessages(32)) { assertTrue(m.getId() != null); assertTrue(m.getPopReceipt() == null); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testPeekMessages() 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.peekMessages(32)) { assertTrue(m.getId() != null); assertTrue(m.getPopReceipt() == null); } }
Iterable<CloudQueueMessage> messagesFromPeekMessages = this.queue.peekMessages(messageLength); int count = 0; for (CloudQueueMessage message : messagesFromPeekMessages) { messagesFromPeekMessages = this.queue.peekMessages(messageLength, null, null); count = 0; for (CloudQueueMessage message : messagesFromPeekMessages) {
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testClearMessages() throws StorageException { CloudQueueMessage message1 = new CloudQueueMessage("messagetest1"); this.queue.addMessage(message1); VerifyAddMessageResult(message1, "messagetest1"); CloudQueueMessage message2 = new CloudQueueMessage("messagetest2"); this.queue.addMessage(message2); VerifyAddMessageResult(message2, "messagetest2"); int count = 0; for (CloudQueueMessage m : this.queue.peekMessages(32)) { assertNotNull(m); count++; } assertTrue(count == 2); OperationContext oc = new OperationContext(); this.queue.clear(null, oc); assertEquals(oc.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); count = 0; for (CloudQueueMessage m : this.queue.peekMessages(32)) { assertNotNull(m); count++; } assertTrue(count == 0); }