IMessageSender Interface

public interface IMessageSender extends IMessageEntityClient

Represents a message sender that sends messages to Azure Service Bus.

Method Summary

Modifier and Type Method and Description
void cancelScheduledMessage(long sequenceNumber)

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 . For better performance, use async methods.

CompletableFuture<Void> cancelScheduledMessageAsync(long sequenceNumber)

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.

long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc)

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 . For better performance, use async methods.

long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

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 . For better performance, use async methods.

CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc)

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.

CompletableFuture<Long> scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

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.

void send(IMessage message)

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 . For better performance, use async methods.

void send(IMessage message, TransactionContext transaction)

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 . For better performance, use async methods.

CompletableFuture<Void> sendAsync(IMessage message)

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.

CompletableFuture<Void> sendAsync(IMessage message, TransactionContext transaction)

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.

void sendBatch(Collection<? extends IMessage> messages)

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 . For better performance, use async methods.

void sendBatch(Collection<? extends IMessage> messages, TransactionContext transaction)

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 . For better performance, use async methods.

CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages)

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.

CompletableFuture<Void> sendBatchAsync(Collection<? extends IMessage> messages, TransactionContext transaction)

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.

Inherited Members

Method Details

cancelScheduledMessage

public void cancelScheduledMessage(long sequenceNumber)

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 . For better performance, use async methods.

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

cancelScheduledMessageAsync

public CompletableFuture cancelScheduledMessageAsync(long sequenceNumber)

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.

Parameters:

sequenceNumber - sequence number of the scheduled message

Returns:

a CompletableFuture representing the pending cancellation

scheduleMessage

public long scheduleMessage(IMessage message, Instant scheduledEnqueueTimeUtc)

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 . For better performance, use async methods.

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)

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 . For better performance, use async methods.

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

scheduleMessageAsync

public CompletableFuture scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc)

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.

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 scheduleMessageAsync(IMessage message, Instant scheduledEnqueueTimeUtc, TransactionContext transaction)

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.

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.

send

public void send(IMessage message)

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 . For better performance, use async methods.

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

send

public void send(IMessage message, TransactionContext transaction)

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 . For better performance, use async methods.

Parameters:

message - message 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 message couldn't be sent to the entity

sendAsync

public CompletableFuture sendAsync(IMessage message)

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.

Parameters:

message - message to be sent to the entity

Returns:

a CompletableFuture representing the pending send

sendAsync

public CompletableFuture sendAsync(IMessage message, TransactionContext transaction)

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.

Parameters:

message - message to be sent to the entity
transaction -

TransactionContext which this operation should enlist to.

Returns:

a CompletableFuture representing the pending send

sendBatch

public void sendBatch(Collection messages)

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 . For better performance, use async methods.

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 messages, TransactionContext transaction)

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 . For better performance, use async methods.

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

sendBatchAsync

public CompletableFuture sendBatchAsync(Collection messages)

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.

Parameters:

messages - collection of messages to be sent to the entity

Returns:

a CompletableFuture representing the pending send

sendBatchAsync

public CompletableFuture sendBatchAsync(Collection messages, TransactionContext transaction)

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.

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

Applies to