|
1 | | -## Amazon Sqs Java Temporary Queues Client |
| 1 | +## Amazon SQS Java Temporary Queues Client |
2 | 2 |
|
3 | | -An Amazon SQS client that supports creating lightweight, automatically-deleted temporary queues, for use in common messaging patterns such as Request/Response. See http://aws.amazon.com/sqs. |
| 3 | +An Amazon SQS client that supports creating lightweight, automatically-deleted temporary queues, for use in common messaging patterns such as Request/Response. |
| 4 | + |
| 5 | +This library provides two complimentary interfaces for two-way communication through queues: |
| 6 | + |
| 7 | +* an `AmazonSQSRequester` [interface](./src/main/java/com/amazonaws/services/sqs/AmazonSQSRequester.java) |
| 8 | +enabling message producers to send a message and wait for a corresponding response message, and |
| 9 | +* an `AmazonSQSResponder` |
| 10 | +[interface](./src/main/java/com/amazonaws/services/sqs/AmazonSQSResponder.java) |
| 11 | +enabling message consumers to send response messages. |
| 12 | + |
| 13 | +To implement this pattern efficiently, the `AmazonSQSRequester` client creates internal temporary queues to hold response messages. The temporary queues architecture scales |
| 14 | +to an arbitrary number of message producer runtimes, with no danger of response messages being consumed by the wrong client. |
| 15 | +The temporary queues are also guaranteed to be automatically deleted if the clients that created them die ungracefully! |
| 16 | +By default, these internal queues are created with the queue name prefix `"__RequesterClientQueues__"`, but this can be customized when |
| 17 | +[building](./src/main/java/com/amazonaws/services/sqs/AmazonSQSRequesterClientBuilder.java) |
| 18 | +the requester client. |
| 19 | + |
| 20 | +This library is currently in developer preview and we look forward to community feedback and collaboration! The internal components used to implement the |
| 21 | +Request/Response interfaces have other applications, and we plan to make more of them accessible for other use cases in the future. |
| 22 | + |
| 23 | +## Getting Started |
| 24 | + |
| 25 | +* **Sign up for AWS** -- Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see [AWS Account and Credentials](http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-setup.html) in the AWS SDK for Java Developer Guide. |
| 26 | +* **Sign up for Amazon SQS** -- Go to the Amazon [SQS console](https://console.aws.amazon.com/sqs/home?region=us-east-1) to sign up for the service. |
| 27 | +* **Minimum requirements** -- To use this client, you'll need Java 8 (or later) and [Maven 3](http://maven.apache.org/). |
| 28 | +* **Download** -- Download the [latest preview release](https://github.com/awslabs/amazon-sqs-java-temporary-queues-client/releases) or pick it up from Maven: |
| 29 | +```xml |
| 30 | + <dependency> |
| 31 | + <groupId>com.amazonaws</groupId> |
| 32 | + <artifactId>amazon-sqs-java-temporary-queues-client</artifactId> |
| 33 | + <version>0.9.0</version> |
| 34 | + <type>jar</type> |
| 35 | + </dependency> |
| 36 | +``` |
| 37 | +* **Samples** -- Sample code using this library is available [here](https://github.com/aws-samples/amazon-sqs-java-temporary-queues-client-samples). |
| 38 | +* **Further information** - Read the [API documentation](http://aws.amazon.com/documentation/sqs/). |
| 39 | + |
| 40 | +## Feedback |
| 41 | +* Give us feedback [here](https://github.com/awslabs/amazon-sqs-java-temporary-queues-client/issues). |
| 42 | +* If you'd like to contribute a new feature or bug fix, we'd love to see Github pull requests from you! |
4 | 43 |
|
5 | 44 | ## License |
6 | 45 |
|
7 | 46 | This library is licensed under the Apache 2.0 License. |
| 47 | + |
| 48 | +See [LICENSE](./LICENSE) and [NOTICE](./NOTICE) for more information. |
0 commit comments