@Override public long getLength() { try { // Download the approximate message count from the server. _queue.downloadAttributes(); // Retrieve the newly cached approximate message count. return _queue.getApproximateMessageCount(); } catch (Exception e) { e.printStackTrace(); return -1; } }
public long getApproximateMessageCount(String queueName) throws InvalidKeyException, URISyntaxException, StorageException { CloudQueueClient client = connection.getCloudStorageAccount().createCloudQueueClient(); CloudQueue queueRef = client.getQueueReference(queueName); return queueRef.getApproximateMessageCount(); }
public long getApproximateMessageCount(String queueName) throws InvalidKeyException, URISyntaxException, StorageException { CloudQueueClient client = connection.getCloudStorageAccount().createCloudQueueClient(); CloudQueue queueRef = client.getQueueReference(queueName); return queueRef.getApproximateMessageCount(); }
@NotNull public List<Queue> getQueues(@NotNull StorageAccount storageAccount) throws AzureCmdException { List<Queue> qList = new ArrayList<Queue>(); try { CloudQueueClient client = getCloudQueueClient(storageAccount); for (CloudQueue cloudQueue : client.listQueues(null, QueueListingDetails.ALL, null, null)) { String uri = cloudQueue.getUri() != null ? cloudQueue.getUri().toString() : ""; qList.add(new Queue(Strings.nullToEmpty(cloudQueue.getName()), uri, cloudQueue.getApproximateMessageCount())); } return qList; } catch (Throwable t) { throw new AzureCmdException("Error retrieving the Queue list", t); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testGetApproximateMessageCount() throws StorageException { assertTrue(this.queue.getApproximateMessageCount() == 0); this.queue.addMessage(new CloudQueueMessage("message1")); this.queue.addMessage(new CloudQueueMessage("message2")); assertTrue(this.queue.getApproximateMessageCount() == 0); this.queue.downloadAttributes(); assertTrue(this.queue.getApproximateMessageCount() == 2); this.queue.delete(); }
@NotNull public Queue createQueue(@NotNull StorageAccount storageAccount, @NotNull Queue queue) throws AzureCmdException { try { CloudQueueClient client = getCloudQueueClient(storageAccount); CloudQueue cloudQueue = client.getQueueReference(queue.getName()); cloudQueue.createIfNotExists(); cloudQueue.downloadAttributes(); String uri = cloudQueue.getUri() != null ? cloudQueue.getUri().toString() : ""; long approximateMessageCount = cloudQueue.getApproximateMessageCount(); queue.setUri(uri); queue.setApproximateMessageCount(approximateMessageCount); return queue; } catch (Throwable t) { throw new AzureCmdException("Error creating the Queue", t); } }