Class TopicClient

    • Method Detail

      • send

        public void send​(IMessage message)
                  throws InterruptedException,
                         ServiceBusException
        Description copied from interface: IMessageSender
        Sends a message to the Azure Service Bus entity this sender is connected to. This method blocks until the message is sent to the entity. Calling this method is equivalent to calling sendAsync(message).get(). For better performance, use async methods.
        Specified by:
        send in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        Throws:
        InterruptedException - if the current thread was interrupted while waiting
        ServiceBusException - if message couldn't be sent to the entity
      • sendBatch

        public void sendBatch​(Collection<? extends IMessage> messages)
                       throws InterruptedException,
                              ServiceBusException
        Description copied from interface: IMessageSender
        Sends a batch of messages to the Azure Service Bus entity this sender is connected to. This method blocks until the batch is sent to the entity. Calling this method is equivalent to calling sendBatchAsync(messages).get(). For better performance, use async methods. When called on partitioned entities, messages meant for different partitions cannot be batched together.
        Specified by:
        sendBatch in interface IMessageSender
        Parameters:
        messages - collection of messages to be sent to the entity
        Throws:
        InterruptedException - if the current thread was interrupted while waiting
        ServiceBusException - if the batch couldn't be sent to the entity
      • sendBatch

        public void sendBatch​(Collection<? extends IMessage> messages,
                              TransactionContext transaction)
                       throws InterruptedException,
                              ServiceBusException
        Description copied from interface: IMessageSender
        Sends a batch of messages to the Azure Service Bus entity this sender is connected to. This method blocks until the batch is sent to the entity. Calling this method is equivalent to calling sendBatchAsync(messages).get(). For better performance, use async methods. When called on partitioned entities, messages meant for different partitions cannot be batched together.
        Specified by:
        sendBatch in interface IMessageSender
        Parameters:
        messages - collection of messages to be sent to the entity
        transaction - TransactionContext which this operation should enlist to.
        Throws:
        InterruptedException - if the current thread was interrupted while waiting
        ServiceBusException - if the batch couldn't be sent to the entity
      • sendAsync

        public CompletableFuture<Void> sendAsync​(IMessage message)
        Description copied from interface: IMessageSender
        Sends a message to the Azure Service Bus entity this sender is connected to. This is an asynchronous method returning a CompletableFuture which completes when the message is sent to the entity.
        Specified by:
        sendAsync in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        Returns:
        a CompletableFuture representing the pending send
      • sendAsync

        public CompletableFuture<Void> sendAsync​(IMessage message,
                                                 TransactionContext transaction)
        Description copied from interface: IMessageSender
        Sends a message to the Azure Service Bus entity this sender is connected to. This is an asynchronous method returning a CompletableFuture which completes when the message is sent to the entity.
        Specified by:
        sendAsync in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        transaction - TransactionContext which this operation should enlist to.
        Returns:
        a CompletableFuture representing the pending send
      • sendBatchAsync

        public CompletableFuture<Void> sendBatchAsync​(Collection<? extends IMessage> messages)
        Description copied from interface: IMessageSender
        Sends a batch of messages to the Azure Service Bus entity this sender is connected to. This is an asynchronous method returning a CompletableFuture which completes when the batch is sent to the entity. When called on partitioned entities, messages meant for different partitions cannot be batched together.
        Specified by:
        sendBatchAsync in interface IMessageSender
        Parameters:
        messages - collection of messages to be sent to the entity
        Returns:
        a CompletableFuture representing the pending send
      • sendBatchAsync

        public CompletableFuture<Void> sendBatchAsync​(Collection<? extends IMessage> messages,
                                                      TransactionContext transaction)
        Description copied from interface: IMessageSender
        Sends a batch of messages to the Azure Service Bus entity this sender is connected to. This is an asynchronous method returning a CompletableFuture which completes when the batch is sent to the entity. When called on partitioned entities, messages meant for different partitions cannot be batched together.
        Specified by:
        sendBatchAsync in interface IMessageSender
        Parameters:
        messages - collection of messages to be sent to the entity
        transaction - TransactionContext which this operation should enlist to.
        Returns:
        a CompletableFuture representing the pending send
      • scheduleMessageAsync

        public CompletableFuture<Long> scheduleMessageAsync​(IMessage message,
                                                            Instant scheduledEnqueueTimeUtc)
        Description copied from interface: IMessageSender
        Sends a scheduled message to the Azure Service Bus entity this sender is connected to. A scheduled message is enqueued and made available to receivers only at the scheduled enqueue time. This is an asynchronous method returning a CompletableFuture which completes when the message is sent to the entity. The CompletableFuture, on completion, returns the sequence number of the scheduled message which can be used to cancel the scheduling of the message.
        Specified by:
        scheduleMessageAsync in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        scheduledEnqueueTimeUtc - instant at which the message should be enqueued in the entity
        Returns:
        a CompletableFuture representing the pending send, which returns the sequence number of the scheduled message. This sequence number can be used to cancel the scheduling of the message.
      • scheduleMessageAsync

        public CompletableFuture<Long> scheduleMessageAsync​(IMessage message,
                                                            Instant scheduledEnqueueTimeUtc,
                                                            TransactionContext transaction)
        Description copied from interface: IMessageSender
        Sends a scheduled message to the Azure Service Bus entity this sender is connected to. A scheduled message is enqueued and made available to receivers only at the scheduled enqueue time. This is an asynchronous method returning a CompletableFuture which completes when the message is sent to the entity. The CompletableFuture, on completion, returns the sequence number of the scheduled message which can be used to cancel the scheduling of the message.
        Specified by:
        scheduleMessageAsync in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        scheduledEnqueueTimeUtc - instant at which the message should be enqueued in the entity
        transaction - TransactionContext which this operation should enlist to.
        Returns:
        a CompletableFuture representing the pending send, which returns the sequence number of the scheduled message. This sequence number can be used to cancel the scheduling of the message.
      • cancelScheduledMessageAsync

        public CompletableFuture<Void> cancelScheduledMessageAsync​(long sequenceNumber)
        Description copied from interface: IMessageSender
        Cancels the enqueuing of an already sent scheduled message, if it was not already enqueued. This is an asynchronous method returning a CompletableFuture which completes when the message is cancelled.
        Specified by:
        cancelScheduledMessageAsync in interface IMessageSender
        Parameters:
        sequenceNumber - sequence number of the scheduled message
        Returns:
        a CompletableFuture representing the pending cancellation
      • scheduleMessage

        public long scheduleMessage​(IMessage message,
                                    Instant scheduledEnqueueTimeUtc)
                             throws InterruptedException,
                                    ServiceBusException
        Description copied from interface: IMessageSender
        Sends a scheduled message to the Azure Service Bus entity this sender is connected to. A scheduled message is enqueued and made available to receivers only at the scheduled enqueue time. This method blocks until the message is sent to the entity. Calling this method is equivalent to calling scheduleMessageAsync(message, scheduledEnqueueTimeUtc).get(). For better performance, use async methods.
        Specified by:
        scheduleMessage in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        scheduledEnqueueTimeUtc - instant at which the message should be enqueued in the entity
        Returns:
        sequence number of the scheduled message
        Throws:
        InterruptedException - if the current thread was interrupted while waiting
        ServiceBusException - if message couldn't be sent to the entity
      • scheduleMessage

        public long scheduleMessage​(IMessage message,
                                    Instant scheduledEnqueueTimeUtc,
                                    TransactionContext transaction)
                             throws InterruptedException,
                                    ServiceBusException
        Description copied from interface: IMessageSender
        Sends a scheduled message to the Azure Service Bus entity this sender is connected to. A scheduled message is enqueued and made available to receivers only at the scheduled enqueue time. This method blocks until the message is sent to the entity. Calling this method is equivalent to calling scheduleMessageAsync(message, scheduledEnqueueTimeUtc).get(). For better performance, use async methods.
        Specified by:
        scheduleMessage in interface IMessageSender
        Parameters:
        message - message to be sent to the entity
        scheduledEnqueueTimeUtc - instant at which the message should be enqueued in the entity
        transaction - TransactionContext which this operation should enlist to.
        Returns:
        sequence number of the scheduled message
        Throws:
        InterruptedException - if the current thread was interrupted while waiting
        ServiceBusException - if message couldn't be sent to the entity
      • cancelScheduledMessage

        public void cancelScheduledMessage​(long sequenceNumber)
                                    throws InterruptedException,
                                           ServiceBusException
        Description copied from interface: IMessageSender
        Cancels the enqueuing of an already sent scheduled message, if it was not already enqueued. This method blocks until the message is sent to the entity. Calling this method is equivalent to calling cancelScheduledMessageAsync(sequenceNumber).get(). For better performance, use async methods.
        Specified by:
        cancelScheduledMessage in interface IMessageSender
        Parameters:
        sequenceNumber - sequence number of the scheduled message
        Throws:
        InterruptedException - if the current thread was interrupted while waiting
        ServiceBusException - if scheduled message couldn't be cancelled
      • getEntityPath

        public String getEntityPath()
        Description copied from interface: IMessageEntityClient
        Gets the path of the entity this client is sending messages to or receiving messages from.
        Specified by:
        getEntityPath in interface IMessageEntityClient
        Returns:
        path of the entity this client is connecting to
      • peekAsync

        public CompletableFuture<IMessage> peekAsync​(long fromSequenceNumber)
        Description copied from interface: IMessageBrowser
        Asynchronously reads next the active message without changing the state of the receiver or the message source.
        Specified by:
        peekAsync in interface IMessageBrowser
        Parameters:
        fromSequenceNumber - The sequence number from where to read the message.
        Returns:
        CompletableFuture that returns Message peeked.
      • peekBatchAsync

        public CompletableFuture<Collection<IMessage>> peekBatchAsync​(int messageCount)
        Description copied from interface: IMessageBrowser
        Asynchronously reads the next batch of active messages without changing the state of the receiver or the message source.
        Specified by:
        peekBatchAsync in interface IMessageBrowser
        Parameters:
        messageCount - The number of messages.
        Returns:
        CompletableFuture that returns batch of Message peeked.
      • peekBatchAsync

        public CompletableFuture<Collection<IMessage>> peekBatchAsync​(long fromSequenceNumber,
                                                                      int messageCount)
        Description copied from interface: IMessageBrowser
        Asynchronously reads the next batch of active messages without changing the state of the receiver or the message source.
        Specified by:
        peekBatchAsync in interface IMessageBrowser
        Parameters:
        fromSequenceNumber - The sequence number from where to read the message.
        messageCount - The number of messages.
        Returns:
        CompletableFuture that returns batch of Message peeked.