com.microsoft.windowsazure.services.servicebus.ServiceBusContract Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of microsoft-azure-api-servicebus Show documentation
Show all versions of microsoft-azure-api-servicebus Show documentation
Microsoft Azure Service Bus SDK Clients
The newest version!
/**
* Copyright Microsoft Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.microsoft.windowsazure.services.servicebus;
import com.microsoft.windowsazure.core.pipeline.jersey.JerseyFilterableService;
import com.microsoft.windowsazure.exception.ServiceException;
import com.microsoft.windowsazure.services.servicebus.models.BrokeredMessage;
import com.microsoft.windowsazure.services.servicebus.models.CreateQueueResult;
import com.microsoft.windowsazure.services.servicebus.models.CreateRuleResult;
import com.microsoft.windowsazure.services.servicebus.models.CreateSubscriptionResult;
import com.microsoft.windowsazure.services.servicebus.models.CreateTopicResult;
import com.microsoft.windowsazure.services.servicebus.models.GetQueueResult;
import com.microsoft.windowsazure.services.servicebus.models.GetRuleResult;
import com.microsoft.windowsazure.services.servicebus.models.GetSubscriptionResult;
import com.microsoft.windowsazure.services.servicebus.models.GetTopicResult;
import com.microsoft.windowsazure.services.servicebus.models.ListQueuesOptions;
import com.microsoft.windowsazure.services.servicebus.models.ListQueuesResult;
import com.microsoft.windowsazure.services.servicebus.models.ListRulesOptions;
import com.microsoft.windowsazure.services.servicebus.models.ListRulesResult;
import com.microsoft.windowsazure.services.servicebus.models.ListSubscriptionsOptions;
import com.microsoft.windowsazure.services.servicebus.models.ListSubscriptionsResult;
import com.microsoft.windowsazure.services.servicebus.models.ListTopicsOptions;
import com.microsoft.windowsazure.services.servicebus.models.ListTopicsResult;
import com.microsoft.windowsazure.services.servicebus.models.QueueInfo;
import com.microsoft.windowsazure.services.servicebus.models.ReceiveMessageOptions;
import com.microsoft.windowsazure.services.servicebus.models.ReceiveMessageResult;
import com.microsoft.windowsazure.services.servicebus.models.ReceiveQueueMessageResult;
import com.microsoft.windowsazure.services.servicebus.models.ReceiveSubscriptionMessageResult;
import com.microsoft.windowsazure.services.servicebus.models.RuleInfo;
import com.microsoft.windowsazure.services.servicebus.models.SubscriptionInfo;
import com.microsoft.windowsazure.services.servicebus.models.TopicInfo;
/**
*
* Defines the service bus contract.
*
*/
public interface ServiceBusContract extends
JerseyFilterableService {
/**
* Sends a queue message.
*
* @param queuePath
* A String
object that represents the name of the
* queue to which the message will be sent.
* @param message
* A Message
object that represents the message to
* send.
* @throws ServiceException
* If a service exception is encountered.
*/
void sendQueueMessage(String queuePath, BrokeredMessage message)
throws ServiceException;
/**
* Receives a queue message.
*
* @param queuePath
* A String
object that represents the name of the
* queue from which to receive the message.
* @return A ReceiveQueueMessageResult
object that represents
* the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ReceiveQueueMessageResult receiveQueueMessage(String queuePath)
throws ServiceException;
/**
* Receives a queue message using the specified receive message options.
*
* @param queuePath
* A String
object that represents the name of the
* queue from which to receive the message.
* @param options
* A ReceiveMessageOptions
object that represents
* the receive message options.
* @return A ReceiveQueueMessageResult
object that represents
* the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ReceiveQueueMessageResult receiveQueueMessage(String queuePath,
ReceiveMessageOptions options) throws ServiceException;
/**
* Sends a topic message.
*
* @param topicPath
* A String
object that represents the name of the
* topic to which the message will be sent.
* @param message
* A Message
object that represents the message to
* send.
* @throws ServiceException
* If a service exception is encountered.
*/
void sendTopicMessage(String topicPath, BrokeredMessage message)
throws ServiceException;
/**
* Receives a subscription message.
*
* @param topicPath
* A String
object that represents the name of the
* topic to receive.
* @param subscriptionName
* A String
object that represents the name of the
* subscription from the message will be received.
* @return A ReceiveSubscriptionMessageResult
object that
* represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ReceiveSubscriptionMessageResult receiveSubscriptionMessage(
String topicPath, String subscriptionName) throws ServiceException;
/**
* Receives a subscription message using the specified receive message
* options.
*
* @param topicPath
* A String
object that represents the name of the
* topic to receive.
* @param subscriptionName
* A String
object that represents the name of the
* subscription from the message will be received.
* @param options
* A ReceiveMessageOptions
object that represents
* the receive message options.
* @return A ReceiveSubscriptionMessageResult
object that
* represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ReceiveSubscriptionMessageResult receiveSubscriptionMessage(
String topicPath, String subscriptionName,
ReceiveMessageOptions options) throws ServiceException;
/**
* Unlocks a message.
*
* @param message
* A Message
object that represents the message to
* unlock.
* @throws ServiceException
* If a service exception is encountered.
*/
void unlockMessage(BrokeredMessage message) throws ServiceException;
/**
* Sends a message.
*
* @param path
* A String
object that represents the path to which
* the message will be sent. This may be the value of a queuePath
* or a topicPath.
* @param message
* A Message
object that represents the message to
* send.
*
* @throws ServiceException
* If a service exception is encountered.
*/
void sendMessage(String path, BrokeredMessage message)
throws ServiceException;
/**
* Receives a message.
*
* @param path
* A String
object that represents the path from
* which a message will be received. This may either be the value
* of queuePath or a combination of the topicPath +
* "/subscriptions/" + subscriptionName.
* @return A ReceiveSubscriptionMessageResult
object that
* represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ReceiveMessageResult receiveMessage(String path) throws ServiceException;
/**
* Receives a message using the specified receive message options.
*
* @param path
* A String
object that represents the path from
* which a message will be received. This may either be the value
* of queuePath or a combination of the topicPath +
* "/subscriptions/" + subscriptionName.
* @param options
* A ReceiveMessageOptions
object that represents
* the receive message options.
* @return A ReceiveSubscriptionMessageResult
object that
* represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ReceiveMessageResult receiveMessage(String path,
ReceiveMessageOptions options) throws ServiceException;
/**
* Deletes a message.
*
* @param message
* A Message
object that represents the message to
* delete.
* @throws ServiceException
* If a service exception is encountered.
*/
void deleteMessage(BrokeredMessage message) throws ServiceException;
/**
* Creates a queue.
*
* @param queueInfo
* A QueueInfo
object that represents the queue to
* create.
* @return A CreateQueueResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
CreateQueueResult createQueue(QueueInfo queueInfo) throws ServiceException;
/**
* Deletes a queue.
*
* @param queuePath
* A String
object that represents the name of the
* queue to delete.
* @throws ServiceException
* If a service exception is encountered.
*/
void deleteQueue(String queuePath) throws ServiceException;
/**
* Retrieves a queue.
*
* @param queuePath
* A String
object that represents the name of the
* queue to retrieve.
* @return A GetQueueResult
object that represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
GetQueueResult getQueue(String queuePath) throws ServiceException;
/**
* Returns a list of queues.
*
* @return A ListQueuesResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
ListQueuesResult listQueues() throws ServiceException;
/**
* Returns a list of queues.
*
* @param options
* A ListQueueOptions
object that represents the
* options to list the queue.
* @return A ListQueuesResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
ListQueuesResult listQueues(ListQueuesOptions options)
throws ServiceException;
/**
* Updates the information of a queue.
*
* @param queueInfo
* The information of a queue to be updated.
*
* @return A QueueInfo
object that represents the updated
* queue.
*
* @throws ServiceException
* If a service exception is encountered.
*/
QueueInfo updateQueue(QueueInfo queueInfo) throws ServiceException;
/**
* Creates a topic.
*
* @param topic
* A Topic
object that represents the topic to
* create.
* @return A CreateTopicResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
CreateTopicResult createTopic(TopicInfo topic) throws ServiceException;
/**
* Deletes a topic.
*
* @param topicPath
* A String
object that represents the name of the
* queue to delete.
* @throws ServiceException
* If a service exception is encountered.
*/
void deleteTopic(String topicPath) throws ServiceException;
/**
* Retrieves a topic.
*
* @param topicPath
* A String
object that represents the name of the
* topic to retrieve.
* @return A GetTopicResult
object that represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
GetTopicResult getTopic(String topicPath) throws ServiceException;
/**
* Returns a list of topics.
*
* @return A ListTopicsResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
ListTopicsResult listTopics() throws ServiceException;
/**
* Returns a list of topics.
*
* @param options
* A ListTopicsOptions
object that represents the
* options to list the topic.
* @return A ListTopicsResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
ListTopicsResult listTopics(ListTopicsOptions options)
throws ServiceException;
/**
* Updates a topic.
*
* @param topicInfo
* A TopicInfo
object that represents the topic to
* be updated.
*
* @return A TopicInfo
object that represents the update topic
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
TopicInfo updateTopic(TopicInfo topicInfo) throws ServiceException;
/**
* Creates a subscription.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscription
* A Subscription
object that represents the
* subscription to create.
* @return A CreateSubscriptionResult
object that represents
* the result.
* @throws ServiceException
* If a service exception is encountered.
*/
CreateSubscriptionResult createSubscription(String topicPath,
SubscriptionInfo subscription) throws ServiceException;
/**
* Deletes a subscription.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription to delete.
* @throws ServiceException
* If a service exception is encountered.
*/
void deleteSubscription(String topicPath, String subscriptionName)
throws ServiceException;
/**
* Retrieves a subscription.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription to retrieve.
* @return A GetSubscriptionResult
object that represents the
* result. A String
object that represents the name of
* the subscription to retrieve.
* @throws ServiceException
* If a service exception is encountered.
*/
GetSubscriptionResult getSubscription(String topicPath,
String subscriptionName) throws ServiceException;
/**
* Returns a list of subscriptions.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscriptions to retrieve.
* @return A ListSubscriptionsResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
ListSubscriptionsResult listSubscriptions(String topicPath)
throws ServiceException;
/**
* Returns a list of subscriptions.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscriptions to retrieve.
*
* @param options
* A ListSubscriptionsOptions
object that represents
* the options to list subscriptions.
*
* @return A ListSubscriptionsResult
object that represents the
* result.
*
* @throws ServiceException
* the service exception
*/
ListSubscriptionsResult listSubscriptions(String topicPath,
ListSubscriptionsOptions options) throws ServiceException;
/**
* Updates a subscription.
*
* @param topicName
* A String
option which represents the name of the
* topic.
* @param subscriptionInfo
* A SubscriptionInfo
option which represents the
* information of the subscription.
* @return A SubscriptionInfo
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
SubscriptionInfo updateSubscription(String topicName,
SubscriptionInfo subscriptionInfo) throws ServiceException;
/**
* Creates a rule.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription for which the rule will be created.
* @param rule
* A Rule
object that represents the rule to create.
* @return A CreateRuleResult
object that represents the
* result.
* @throws ServiceException
* If a service exception is encountered.
*/
CreateRuleResult createRule(String topicPath, String subscriptionName,
RuleInfo rule) throws ServiceException;
/**
* Deletes a rule.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription for which the rule will be deleted.
* @param ruleName
* A String
object that represents the name of the
* rule to delete.
* @throws ServiceException
* If a service exception is encountered.
*/
void deleteRule(String topicPath, String subscriptionName, String ruleName)
throws ServiceException;
/**
* Retrieves a rule.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription for which the rule will be retrieved.
* @param ruleName
* A String
object that represents the name of the
* rule to retrieve.
* @return A GetRuleResult
object that represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
GetRuleResult getRule(String topicPath, String subscriptionName,
String ruleName) throws ServiceException;
/**
* Returns a list of rules.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription whose rules are being retrieved.
* @return A ListRulesResult
object that represents the result.
* @throws ServiceException
* If a service exception is encountered.
*/
ListRulesResult listRules(String topicPath, String subscriptionName)
throws ServiceException;
/**
* Returns a list of rules.
*
* @param topicPath
* A String
object that represents the name of the
* topic for the subscription.
* @param subscriptionName
* A String
object that represents the name of the
* subscription whose rules are being retrieved.
* @param options
* A ListRulesOptions
object that represents the
* options to retrieve rules.
* @return the list rules result
* @throws ServiceException
* If a service exception is encountered.
*/
ListRulesResult listRules(String topicPath, String subscriptionName,
ListRulesOptions options) throws ServiceException;
/**
* Renew queue lock.
*
* @param queueName
* A String
object that represents the name of the
* queue.
* @param messageId
* A String
object that represents the ID of the
* message.
* @param lockToken
* A String
object that represents the token of the
* lock.
* @throws ServiceException
* If a service exception is encountered.
*/
void renewQueueLock(String queueName, String messageId, String lockToken)
throws ServiceException;
/**
* Renew subscription lock.
*
* @param topicName
* A String
object that represents the name of the
* topic.
* @param queueName
* A String
object that represents the name of the
* queue.
* @param messageId
* A String
object that represents the ID of the
* message.
* @param lockToken
* A String
object that represents the token of the
* lock.
* @throws ServiceException
* If a service exception is encountered.
*/
void renewSubscriptionLock(String topicName, String subscriptionName,
String messageId, String lockToken) throws ServiceException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy