Package com.microsoft.azure.servicebus
Class SubscriptionClient
- java.lang.Object
-
- com.microsoft.azure.servicebus.primitives.ClientEntity
-
- com.microsoft.azure.servicebus.SubscriptionClient
-
- All Implemented Interfaces:
ICloseable
,IMessageAndSessionPump
,IMessageEntityClient
,ISubscriptionClient
public final class SubscriptionClient extends ClientEntity implements ISubscriptionClient
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_RULE_NAME
-
Constructor Summary
Constructors Constructor Description SubscriptionClient(ConnectionStringBuilder amqpConnectionStringBuilder, ReceiveMode receiveMode)
SubscriptionClient(String namespace, String subscriptionPath, ClientSettings clientSettings, ReceiveMode receiveMode)
SubscriptionClient(URI namespaceEndpointURI, String subscriptionPath, ClientSettings clientSettings, ReceiveMode receiveMode)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
abandon(UUID lockToken)
AbandonMessage
with lock token.void
abandon(UUID lockToken, TransactionContext transaction)
AbandonMessage
with lock token.void
abandon(UUID lockToken, Map<String,Object> propertiesToModify)
AbandonMessage
with lock token and updated message property.void
abandon(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)
AbandonMessage
with lock token and updated message property.CompletableFuture<Void>
abandonAsync(UUID lockToken)
Asynchronously abandonMessage
with lock token.CompletableFuture<Void>
abandonAsync(UUID lockToken, TransactionContext transaction)
Asynchronously abandonMessage
with lock token.CompletableFuture<Void>
abandonAsync(UUID lockToken, Map<String,Object> propertiesToModify)
Asynchronously abandonMessage
with lock token and updated message property.CompletableFuture<Void>
abandonAsync(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)
Asynchronously abandonMessage
with lock token and updated message property.void
addRule(RuleDescription ruleDescription)
Adds a rule to the current subscription to filter the messages reaching from topic to the subscription.void
addRule(String ruleName, Filter filter)
Adds a rule with specified name andFilter
to the current subscription to filter the messages reaching from topic to the subscription.CompletableFuture<Void>
addRuleAsync(RuleDescription ruleDescription)
Asynchronously adds a rule to the current subscription to filter the messages reaching from topic to the subscription.CompletableFuture<Void>
addRuleAsync(String ruleName, Filter filter)
Asynchronously adds a rule with specified name andFilter
to the current subscription to filter the messages reaching from topic to the subscription.void
complete(UUID lockToken)
Completes aMessage
using its lock token.void
complete(UUID lockToken, TransactionContext transaction)
Completes aMessage
using its lock token.CompletableFuture<Void>
completeAsync(UUID lockToken)
Asynchronously completes aMessage
using its lock token.CompletableFuture<Void>
completeAsync(UUID lockToken, TransactionContext transaction)
Asynchronously completes aMessage
using its lock token.void
deadLetter(UUID lockToken)
Moves aMessage
to the deadletter sub-queue.void
deadLetter(UUID lockToken, TransactionContext transaction)
Moves aMessage
to the deadletter sub-queue.void
deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description.void
deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description.void
deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify)
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.void
deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify, TransactionContext transaction)
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.void
deadLetter(UUID lockToken, Map<String,Object> propertiesToModify)
Moves aMessage
to the deadletter sub-queue with modified message properties.void
deadLetter(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)
Moves aMessage
to the deadletter sub-queue with modified message properties.CompletableFuture<Void>
deadLetterAsync(UUID lockToken)
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, TransactionContext transaction)
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify)
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify, TransactionContext transaction)
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, Map<String,Object> propertiesToModify)
Asynchronously moves aMessage
to the deadletter sub-queue with modified properties.CompletableFuture<Void>
deadLetterAsync(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)
Asynchronously moves aMessage
to the deadletter sub-queue with modified properties.String
getEntityPath()
Gets the path of the entity this client is sending messages to or receiving messages from.int
getPrefetchCount()
Get the prefetch value set.ReceiveMode
getReceiveMode()
Gets theReceiveMode
of the current receiverCollection<RuleDescription>
getRules()
Get all rules associated with the subscription.CompletableFuture<Collection<RuleDescription>>
getRulesAsync()
Get all rules associated with the subscription.String
getSubscriptionName()
Gets the subscription name.String
getTopicName()
Gets the name of the topic, for this subscription.protected CompletableFuture<Void>
onClose()
void
registerMessageHandler(IMessageHandler handler)
Deprecated.void
registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions)
Deprecated.void
registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions, ExecutorService executorService)
Receive messages continuously from the entity.void
registerMessageHandler(IMessageHandler handler, ExecutorService executorService)
Receive messages continuously from the entity.void
registerSessionHandler(ISessionHandler handler)
Deprecated.void
registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions)
Deprecated.void
registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions, ExecutorService executorService)
Receive session messages continuously from the queue.void
registerSessionHandler(ISessionHandler handler, ExecutorService executorService)
Receive session messages continuously from the queue.void
removeRule(String ruleName)
Removes the rule on the subscription identified by ruleNameCompletableFuture<Void>
removeRuleAsync(String ruleName)
Asynchronously removes the rule on the subscription identified by ruleNamevoid
setPrefetchCount(int prefetchCount)
Set the prefetch count of the receiver.-
Methods inherited from class com.microsoft.azure.servicebus.primitives.ClientEntity
close, closeAsync, finalize, getClientId, getIsClosed, getIsClosingOrClosed, setClosed, setClosing, throwIfClosed
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.microsoft.azure.servicebus.ICloseable
close, closeAsync
-
-
-
-
Field Detail
-
DEFAULT_RULE_NAME
public static final String DEFAULT_RULE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SubscriptionClient
public SubscriptionClient(ConnectionStringBuilder amqpConnectionStringBuilder, ReceiveMode receiveMode) throws InterruptedException, ServiceBusException
-
SubscriptionClient
public SubscriptionClient(String namespace, String subscriptionPath, ClientSettings clientSettings, ReceiveMode receiveMode) throws InterruptedException, ServiceBusException
-
SubscriptionClient
public SubscriptionClient(URI namespaceEndpointURI, String subscriptionPath, ClientSettings clientSettings, ReceiveMode receiveMode) throws InterruptedException, ServiceBusException
-
-
Method Detail
-
getReceiveMode
public ReceiveMode getReceiveMode()
Description copied from interface:ISubscriptionClient
Gets theReceiveMode
of the current receiver- Specified by:
getReceiveMode
in interfaceISubscriptionClient
- Returns:
- The receive mode.
-
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 interfaceIMessageEntityClient
- Returns:
- path of the entity this client is connecting to
-
addRule
public void addRule(RuleDescription ruleDescription) throws InterruptedException, ServiceBusException
Description copied from interface:ISubscriptionClient
Adds a rule to the current subscription to filter the messages reaching from topic to the subscription.- Specified by:
addRule
in interfaceISubscriptionClient
- Parameters:
ruleDescription
- The rule description that provides the rule to add.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if add rule failed
-
addRuleAsync
public CompletableFuture<Void> addRuleAsync(RuleDescription ruleDescription)
Description copied from interface:ISubscriptionClient
Asynchronously adds a rule to the current subscription to filter the messages reaching from topic to the subscription.- Specified by:
addRuleAsync
in interfaceISubscriptionClient
- Parameters:
ruleDescription
- The rule description that provides the rule to add.- Returns:
- a CompletableFuture representing the pending rule add operation.
-
addRule
public void addRule(String ruleName, Filter filter) throws InterruptedException, ServiceBusException
Description copied from interface:ISubscriptionClient
Adds a rule with specified name andFilter
to the current subscription to filter the messages reaching from topic to the subscription.- Specified by:
addRule
in interfaceISubscriptionClient
- Parameters:
ruleName
- The rule namefilter
- TheFilter
to add.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if add rule failed
-
addRuleAsync
public CompletableFuture<Void> addRuleAsync(String ruleName, Filter filter)
Description copied from interface:ISubscriptionClient
Asynchronously adds a rule with specified name andFilter
to the current subscription to filter the messages reaching from topic to the subscription.- Specified by:
addRuleAsync
in interfaceISubscriptionClient
- Parameters:
ruleName
- The rule namefilter
- TheFilter
to add.- Returns:
- a CompletableFuture representing the pending rule add operation.
-
removeRule
public void removeRule(String ruleName) throws InterruptedException, ServiceBusException
Description copied from interface:ISubscriptionClient
Removes the rule on the subscription identified by ruleName- Specified by:
removeRule
in interfaceISubscriptionClient
- Parameters:
ruleName
- The name of rule.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if remove rule failed
-
removeRuleAsync
public CompletableFuture<Void> removeRuleAsync(String ruleName)
Description copied from interface:ISubscriptionClient
Asynchronously removes the rule on the subscription identified by ruleName- Specified by:
removeRuleAsync
in interfaceISubscriptionClient
- Parameters:
ruleName
- he name of rule.- Returns:
- a CompletableFuture representing the pending rule remove operation.
-
getRules
public Collection<RuleDescription> getRules() throws ServiceBusException, InterruptedException
Description copied from interface:ISubscriptionClient
Get all rules associated with the subscription.- Specified by:
getRules
in interfaceISubscriptionClient
- Returns:
- The collection fo the rules.
- Throws:
ServiceBusException
- if get rules failedInterruptedException
- if the current thread was interrupted while waiting
-
getRulesAsync
public CompletableFuture<Collection<RuleDescription>> getRulesAsync()
Description copied from interface:ISubscriptionClient
Get all rules associated with the subscription.- Specified by:
getRulesAsync
in interfaceISubscriptionClient
- Returns:
- a CompletableFuture representing the pending get rules operation.
-
registerMessageHandler
@Deprecated public void registerMessageHandler(IMessageHandler handler) throws InterruptedException, ServiceBusException
Deprecated.Description copied from interface:IMessageAndSessionPump
Receive messages continuously from the entity. Registers a message handler and begins a new thread to receive messages. IMessageHandler methods are executed on java.util.concurrent.commonPool()- Specified by:
registerMessageHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheIMessageHandler
instance- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerMessageHandler
@Deprecated public void registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions) throws InterruptedException, ServiceBusException
Deprecated.Description copied from interface:IMessageAndSessionPump
Receive messages continuously from the entity. Registers a message handler and begins a new thread to receive messages. IMessageHandler methods are executed on java.util.concurrent.commonPool()- Specified by:
registerMessageHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheIMessageHandler
instancehandlerOptions
-MessageHandlerOptions
- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerSessionHandler
@Deprecated public void registerSessionHandler(ISessionHandler handler) throws InterruptedException, ServiceBusException
Deprecated.Description copied from interface:IMessageAndSessionPump
Receive session messages continuously from the queue. Registers a message handler and begins a new thread to receive session-messages. ISessionHandler methods are executed on java.util.concurrent.commonPool()- Specified by:
registerSessionHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheISessionHandler
instance- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerSessionHandler
@Deprecated public void registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions) throws InterruptedException, ServiceBusException
Deprecated.Description copied from interface:IMessageAndSessionPump
Receive session messages continuously from the queue. Registers a message handler and begins a new thread to receive session-messages. ISessionHandler methods are executed on java.util.concurrent.commonPool()- Specified by:
registerSessionHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheISessionHandler
instancehandlerOptions
-SessionHandlerOptions
- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerMessageHandler
public void registerMessageHandler(IMessageHandler handler, ExecutorService executorService) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Receive messages continuously from the entity. Registers a message handler and begins a new thread to receive messages. IMessageHandler methods are executed on the passed executor service.- Specified by:
registerMessageHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheIMessageHandler
instanceexecutorService
- ExecutorService which is used to executeIMessageHandler
methods.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerMessageHandler
public void registerMessageHandler(IMessageHandler handler, MessageHandlerOptions handlerOptions, ExecutorService executorService) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Receive messages continuously from the entity. Registers a message handler and begins a new thread to receive messages. IMessageHandler methods are executed on the passed executor service.- Specified by:
registerMessageHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheIMessageHandler
instancehandlerOptions
-MessageHandlerOptions
executorService
- ExecutorService which is used to executeIMessageHandler
methods- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerSessionHandler
public void registerSessionHandler(ISessionHandler handler, ExecutorService executorService) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Receive session messages continuously from the queue. Registers a message handler and begins a new thread to receive session-messages. ISessionHandler methods are executed on the passed executor service.- Specified by:
registerSessionHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheISessionHandler
instanceexecutorService
- ExecutorService which is used to executeISessionHandler
methods- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
registerSessionHandler
public void registerSessionHandler(ISessionHandler handler, SessionHandlerOptions handlerOptions, ExecutorService executorService) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Receive session messages continuously from the queue. Registers a message handler and begins a new thread to receive session-messages. ISessionHandler methods are executed on the passed executor service.- Specified by:
registerSessionHandler
in interfaceIMessageAndSessionPump
- Parameters:
handler
- TheISessionHandler
instancehandlerOptions
-SessionHandlerOptions
executorService
- ExecutorService which is used to executeISessionHandler
methods- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if register failed
-
onClose
protected CompletableFuture<Void> onClose()
- Specified by:
onClose
in classClientEntity
-
abandon
public void abandon(UUID lockToken) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
AbandonMessage
with lock token. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message- Specified by:
abandon
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if abandon failed
-
abandon
public void abandon(UUID lockToken, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
AbandonMessage
with lock token. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message- Specified by:
abandon
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if abandon failed
-
abandon
public void abandon(UUID lockToken, Map<String,Object> propertiesToModify) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
AbandonMessage
with lock token and updated message property. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message- Specified by:
abandon
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if abandon failed
-
abandon
public void abandon(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
AbandonMessage
with lock token and updated message property. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message- Specified by:
abandon
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if abandon failed
-
abandonAsync
public CompletableFuture<Void> abandonAsync(UUID lockToken)
Description copied from interface:IMessageAndSessionPump
Asynchronously abandonMessage
with lock token. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message.- Specified by:
abandonAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
- Returns:
- a CompletableFuture representing the pending abandon.
-
abandonAsync
public CompletableFuture<Void> abandonAsync(UUID lockToken, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously abandonMessage
with lock token. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message.- Specified by:
abandonAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending abandon.
-
abandonAsync
public CompletableFuture<Void> abandonAsync(UUID lockToken, Map<String,Object> propertiesToModify)
Description copied from interface:IMessageAndSessionPump
Asynchronously abandonMessage
with lock token and updated message property. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message.- Specified by:
abandonAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.- Returns:
- a CompletableFuture representing the pending abandon.
-
abandonAsync
public CompletableFuture<Void> abandonAsync(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously abandonMessage
with lock token and updated message property. This will make the message available again for processing. Abandoning a message will increase the delivery count on the message.- Specified by:
abandonAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending abandon.
-
complete
public void complete(UUID lockToken) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Completes aMessage
using its lock token. This will delete the message from the service.- Specified by:
complete
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if abandon failed
-
complete
public void complete(UUID lockToken, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Completes aMessage
using its lock token. This will delete the message from the service.- Specified by:
complete
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if abandon failed
-
completeAsync
public CompletableFuture<Void> completeAsync(UUID lockToken)
Description copied from interface:IMessageAndSessionPump
Asynchronously completes aMessage
using its lock token. This will delete the message from the service.- Specified by:
completeAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
- Returns:
- a CompletableFuture representing the pending complete.
-
completeAsync
public CompletableFuture<Void> completeAsync(UUID lockToken, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously completes aMessage
using its lock token. This will delete the message from the service.- Specified by:
completeAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending complete.
-
deadLetter
public void deadLetter(UUID lockToken) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, Map<String,Object> propertiesToModify) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue with modified message properties.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue with modified message properties.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.propertiesToModify
- Message properties to modify.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetter
public void deadLetter(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify, TransactionContext transaction) throws InterruptedException, ServiceBusException
Description copied from interface:IMessageAndSessionPump
Moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.- Specified by:
deadLetter
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.propertiesToModify
- Message properties to modify.transaction
-TransactionContext
which this operation should enlist to.- Throws:
InterruptedException
- if the current thread was interrupted while waitingServiceBusException
- if deadletter failed
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, Map<String,Object> propertiesToModify)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with modified properties.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, Map<String,Object> propertiesToModify, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with modified properties.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
propertiesToModify
- Message properties to modify.transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.propertiesToModify
- Message properties to modify.- Returns:
- a CompletableFuture representing the pending deadletter.
-
deadLetterAsync
public CompletableFuture<Void> deadLetterAsync(UUID lockToken, String deadLetterReason, String deadLetterErrorDescription, Map<String,Object> propertiesToModify, TransactionContext transaction)
Description copied from interface:IMessageAndSessionPump
Asynchronously moves aMessage
to the deadletter sub-queue with deadletter reason and error description and modified properties.- Specified by:
deadLetterAsync
in interfaceIMessageAndSessionPump
- Parameters:
lockToken
- Message lock tokenMessage.getLockToken()
deadLetterReason
- The deadletter reason.deadLetterErrorDescription
- The deadletter error description.propertiesToModify
- Message properties to modify.transaction
-TransactionContext
which this operation should enlist to.- Returns:
- a CompletableFuture representing the pending deadletter.
-
getPrefetchCount
public int getPrefetchCount()
Description copied from interface:IMessageAndSessionPump
Get the prefetch value set.- Specified by:
getPrefetchCount
in interfaceIMessageAndSessionPump
- Returns:
- The set prefetch count value.
-
setPrefetchCount
public void setPrefetchCount(int prefetchCount) throws ServiceBusException
Description copied from interface:IMessageAndSessionPump
Set the prefetch count of the receiver. Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using Receive. Setting a non-zero value prefetches PrefetchCount number of messages. Setting the value to zero turns prefetch off. For RECEIVEANDDELETE mode, the default value is 0. For PEEKLOCK mode, the default value is 100.The value cannot be set until the receiver is created.
- Specified by:
setPrefetchCount
in interfaceIMessageAndSessionPump
- Parameters:
prefetchCount
- The desired prefetch count.- Throws:
ServiceBusException
- if sets the value failed
-
getTopicName
public String getTopicName()
Description copied from interface:ISubscriptionClient
Gets the name of the topic, for this subscription.- Specified by:
getTopicName
in interfaceISubscriptionClient
- Returns:
- the name of the topic
-
getSubscriptionName
public String getSubscriptionName()
Description copied from interface:ISubscriptionClient
Gets the subscription name.- Specified by:
getSubscriptionName
in interfaceISubscriptionClient
- Returns:
- The subscription name.
-
-