Class SubscriptionDescription
- java.lang.Object
-
- com.microsoft.azure.servicebus.management.SubscriptionDescription
-
public class SubscriptionDescription extends Object
Represents the metadata description of the subscription.
-
-
Constructor Summary
Constructors Constructor Description SubscriptionDescription(String topicPath, String subscriptionName)
Initializes a new instance of SubscriptionDescription with the specified relative path.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
Duration
getAutoDeleteOnIdle()
Duration
getDefaultMessageTimeToLive()
Time-To-Live is the duration after which the message expires, starting from when the message is sent to Service Bus.EntityStatus
getEntityStatus()
Gets the status of the entity.String
getForwardDeadLetteredMessagesTo()
String
getForwardTo()
Duration
getLockDuration()
The amount of time that the message is locked by a given receiver so that no other receiver receives the same message.int
getMaxDeliveryCount()
The maximum delivery count of a message before it is dead-lettered.String
getPath()
String
getSubscriptionName()
String
getTopicPath()
String
getUserMetadata()
int
hashCode()
boolean
isEnableBatchedOperations()
boolean
isEnableDeadLetteringOnFilterEvaluationException()
boolean
isEnableDeadLetteringOnMessageExpiration()
Indicates whether this subscription has dead letter support when a message expires.boolean
isRequiresSession()
void
setAutoDeleteOnIdle(Duration autoDeleteOnIdle)
void
setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
void
setEnableBatchedOperations(boolean enableBatchedOperations)
void
setEnableDeadLetteringOnFilterEvaluationException(boolean enableDeadLetteringOnFilterEvaluationException)
void
setEnableDeadLetteringOnMessageExpiration(boolean enableDeadLetteringOnMessageExpiration)
void
setEntityStatus(EntityStatus status)
void
setForwardDeadLetteredMessagesTo(String forwardDeadLetteredMessagesTo)
void
setForwardTo(String forwardTo)
void
setLockDuration(Duration lockDuration)
Sets The amount of time that the message is locked by a given receiver so that no other receiver receives the same message.void
setMaxDeliveryCount(int maxDeliveryCount)
The maximum delivery count of a message before it is dead-lettered.void
setRequiresSession(boolean requiresSession)
void
setUserMetadata(String userMetadata)
-
-
-
Constructor Detail
-
SubscriptionDescription
public SubscriptionDescription(String topicPath, String subscriptionName)
Initializes a new instance of SubscriptionDescription with the specified relative path.- Parameters:
topicPath
- - Path of the topic Max length is 260 chars. Cannot start or end with a slash. Cannot have restricted characters: '@','?','#','*'subscriptionName
- - Name of the subscription Max length is 50 chars. Cannot have restricted characters: '@','?','#','*','/'
-
-
Method Detail
-
getTopicPath
public String getTopicPath()
- Returns:
- the path of the topic.
-
getSubscriptionName
public String getSubscriptionName()
- Returns:
- the subscription name.
-
getPath
public String getPath()
- Returns:
- the path of the subscription, including the topic.
-
getLockDuration
public Duration getLockDuration()
The amount of time that the message is locked by a given receiver so that no other receiver receives the same message.- Returns:
- The duration of a peek lock. Default value is 60 seconds.
-
setLockDuration
public void setLockDuration(Duration lockDuration)
Sets The amount of time that the message is locked by a given receiver so that no other receiver receives the same message.- Parameters:
lockDuration
- - The duration of a peek lock. Max value is 5 minutes.
-
isRequiresSession
public boolean isRequiresSession()
- Returns:
- This indicates whether the subscription supports the concept of session. Sessionful-messages follow FIFO ordering.
-
setRequiresSession
public void setRequiresSession(boolean requiresSession)
- Parameters:
requiresSession
- - Set to true if subscription should support sessions.
-
getDefaultMessageTimeToLive
public Duration getDefaultMessageTimeToLive()
Time-To-Live is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used whenIMessage.getTimeToLive()
is not set on a message itself. Messages older than their TimeToLive value will expire and no longer be retained in the message store. Subscribers will be unable to receive expired messages.- Returns:
- The default time to live value for the messages. Default value is
ManagementClientConstants.MAX_DURATION
-
setDefaultMessageTimeToLive
public void setDefaultMessageTimeToLive(Duration defaultMessageTimeToLive)
- Parameters:
defaultMessageTimeToLive
- - Sets the default message time to live value. Value cannot be lower than 1 second. SeegetDefaultMessageTimeToLive()
-
getAutoDeleteOnIdle
public Duration getAutoDeleteOnIdle()
- Returns:
- The idle interval after which the subscription is automatically deleted.
Default value is
ManagementClientConstants.MAX_DURATION
-
setAutoDeleteOnIdle
public void setAutoDeleteOnIdle(Duration autoDeleteOnIdle)
- Parameters:
autoDeleteOnIdle
- - The idle interval after which the subscription is automatically deleted. The minimum duration is 5 minutes.
-
isEnableDeadLetteringOnMessageExpiration
public boolean isEnableDeadLetteringOnMessageExpiration()
Indicates whether this subscription has dead letter support when a message expires.- Returns:
- If true, the expired messages are moved to dead-letter subqueue. Default value is false.
-
setEnableDeadLetteringOnMessageExpiration
public void setEnableDeadLetteringOnMessageExpiration(boolean enableDeadLetteringOnMessageExpiration)
- Parameters:
enableDeadLetteringOnMessageExpiration
- - True if messages should be dead-lettered on expiration. SeeisEnableDeadLetteringOnMessageExpiration()
-
isEnableDeadLetteringOnFilterEvaluationException
public boolean isEnableDeadLetteringOnFilterEvaluationException()
- Returns:
- boolean indicating whether messages need to be forwarded to dead-letter subqueue when subscription rule evaluation fails. Default value is true.
-
setEnableDeadLetteringOnFilterEvaluationException
public void setEnableDeadLetteringOnFilterEvaluationException(boolean enableDeadLetteringOnFilterEvaluationException)
- Parameters:
enableDeadLetteringOnFilterEvaluationException
- - True if messages should be dead-lettered on filter evaluation exception. SeeisEnableDeadLetteringOnFilterEvaluationException()
-
getMaxDeliveryCount
public int getMaxDeliveryCount()
The maximum delivery count of a message before it is dead-lettered. The delivery count is increased when a message is received inReceiveMode.PEEKLOCK
mode and didn't complete the message before the message lock expired.- Returns:
- Default value is 10.
-
setMaxDeliveryCount
public void setMaxDeliveryCount(int maxDeliveryCount)
The maximum delivery count of a message before it is dead-lettered. The delivery count is increased when a message is received inReceiveMode.PEEKLOCK
mode and didn't complete the message before the message lock expired.- Parameters:
maxDeliveryCount
- - Minimum value is 1.
-
isEnableBatchedOperations
public boolean isEnableBatchedOperations()
- Returns:
- Indicates whether server-side batched operations are enabled. Defaults to true.
-
setEnableBatchedOperations
public void setEnableBatchedOperations(boolean enableBatchedOperations)
- Parameters:
enableBatchedOperations
- - Indicates whether server-side batched operations are enabled.
-
getEntityStatus
public EntityStatus getEntityStatus()
Gets the status of the entity. When an entity is disabled, that entity cannot send or receive messages.- Returns:
- The current status of the queue (Enabled / Disabled). The default value is Enabled.
-
setEntityStatus
public void setEntityStatus(EntityStatus status)
- Parameters:
status
- - the status of the queue (Enabled / Disabled). When an entity is disabled, that entity cannot send or receive messages.
-
getForwardTo
public String getForwardTo()
- Returns:
- The path of the recipient entity to which all the messages sent to the subscription are forwarded to. If set, user cannot manually receive messages from this subscription. The destination entity must be an already existing entity.
-
setForwardTo
public void setForwardTo(String forwardTo)
- Parameters:
forwardTo
- - The path of the recipient entity to which all the messages sent to the subscription are forwarded to. If set, user cannot manually receive messages from this subscription. The destination entity must be an already existing entity.
-
getForwardDeadLetteredMessagesTo
public String getForwardDeadLetteredMessagesTo()
- Returns:
- The path of the recipient entity to which all the dead-lettered messages of this subscription are forwarded to. If set, user cannot manually receive dead-lettered messages from this subscription. The destination entity must already exist.
-
setForwardDeadLetteredMessagesTo
public void setForwardDeadLetteredMessagesTo(String forwardDeadLetteredMessagesTo)
- Parameters:
forwardDeadLetteredMessagesTo
- - The path of the recipient entity to which all the dead-lettered messages of this subscription are forwarded to. If set, user cannot manually receive dead-lettered messages from this subscription. The destination entity must already exist.
-
getUserMetadata
public String getUserMetadata()
- Returns:
- Custom metdata that user can associate with the description.
-
setUserMetadata
public void setUserMetadata(String userMetadata)
- Parameters:
userMetadata
- - Custom metdata that user can associate with the description. Cannot be null. Max length is 1024 chars
-
-