Skip to content

Commit 9acf074

Browse files
committed
fix up
1 parent 21398bd commit 9acf074

File tree

1 file changed

+63
-24
lines changed

1 file changed

+63
-24
lines changed

javav2/example_code/sqs/src/main/java/com/example/sqs/SendRecvBatch.java

Lines changed: 63 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,25 @@
55

66
// snippet-start:[sqs.java2.sendRecvBatch.main]
77
// snippet-start:[sqs.java2.sendRecvBatch.import]
8-
import software.amazon.awssdk.regions.Region;
8+
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
911
import software.amazon.awssdk.services.sqs.SqsClient;
10-
import software.amazon.awssdk.services.sqs.model.*;
12+
import software.amazon.awssdk.services.sqs.model.BatchResultErrorEntry;
13+
import software.amazon.awssdk.services.sqs.model.CreateQueueRequest;
14+
import software.amazon.awssdk.services.sqs.model.DeleteMessageBatchRequest;
15+
import software.amazon.awssdk.services.sqs.model.DeleteMessageBatchRequestEntry;
16+
import software.amazon.awssdk.services.sqs.model.DeleteMessageBatchResponse;
17+
import software.amazon.awssdk.services.sqs.model.DeleteMessageBatchResultEntry;
18+
import software.amazon.awssdk.services.sqs.model.DeleteQueueRequest;
19+
import software.amazon.awssdk.services.sqs.model.Message;
20+
import software.amazon.awssdk.services.sqs.model.MessageAttributeValue;
21+
import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest;
22+
import software.amazon.awssdk.services.sqs.model.SendMessageBatchRequest;
23+
import software.amazon.awssdk.services.sqs.model.SendMessageBatchRequestEntry;
24+
import software.amazon.awssdk.services.sqs.model.SendMessageBatchResponse;
25+
import software.amazon.awssdk.services.sqs.model.SendMessageBatchResultEntry;
26+
import software.amazon.awssdk.services.sqs.model.SqsException;
1127

1228
import java.io.IOException;
1329
import java.nio.file.Files;
@@ -17,8 +33,6 @@
1733
import java.util.HashMap;
1834
import java.util.List;
1935
import java.util.Map;
20-
import java.util.logging.Level;
21-
import java.util.logging.Logger;
2236
// snippet-end:[sqs.java2.sendRecvBatch.import]
2337

2438

@@ -36,15 +50,30 @@
3650
*/
3751

3852
public class SendRecvBatch {
39-
private static final Logger logger = Logger.getLogger(SendRecvBatch.class.getName());
40-
static {
41-
Logger rootLogger = Logger.getLogger("");
42-
rootLogger.setLevel(Level.WARNING);
43-
}
44-
private static final SqsClient sqsClient = SqsClient.builder()
45-
.region(Region.US_WEST_2)
46-
.build();
53+
private static final Logger LOGGER = LoggerFactory.getLogger(SendRecvBatch.class);
54+
private static final SqsClient sqsClient = SqsClient.create();
55+
56+
57+
public static void main(String[] args) {
58+
String queueName = "testQueue" + System.currentTimeMillis();
59+
String queueUrl = createQueue(queueName);
60+
61+
// Send messages to the queue
62+
List<MessageEntry> messages = new ArrayList<>();
63+
messages.add(new MessageEntry("Hello world!", null));
64+
messages.add(new MessageEntry("Hello world 2!", null));
65+
messages.add(new MessageEntry("Hello world 3!", null));
66+
SendMessageBatchResponse response = sendMessages(queueUrl, messages);
67+
68+
// Receive messages from the queue
69+
List<Message> receivedMessages = receiveMessages(queueUrl, 10, 10);
70+
71+
// Delete messages from the queue
72+
deleteMessages(queueUrl, receivedMessages);
4773

74+
// Delete the queue
75+
deleteQueue(queueUrl);
76+
}
4877
// snippet-start:[sqs.java2.sendRecvBatch.sendBatch]
4978
/**
5079
* Send a batch of messages in a single request to an SQS queue.
@@ -80,22 +109,22 @@ public static SendMessageBatchResponse sendMessages(
80109

81110
if (!response.successful().isEmpty()) {
82111
for (SendMessageBatchResultEntry resultEntry : response.successful()) {
83-
logger.info("Message sent: " + resultEntry.messageId() + ": " +
112+
LOGGER.info("Message sent: " + resultEntry.messageId() + ": " +
84113
messages.get(Integer.parseInt(resultEntry.id())).getBody());
85114
}
86115
}
87116

88117
if (!response.failed().isEmpty()) {
89118
for (BatchResultErrorEntry errorEntry : response.failed()) {
90-
logger.warning("Failed to send: " + errorEntry.id() + ": " +
119+
LOGGER.warn("Failed to send: " + errorEntry.id() + ": " +
91120
messages.get(Integer.parseInt(errorEntry.id())).getBody());
92121
}
93122
}
94123

95124
return response;
96125

97126
} catch (SqsException e) {
98-
logger.log(Level.SEVERE, "Send messages failed to queue: " + queueUrl, e);
127+
LOGGER.error("Send messages failed to queue: " + queueUrl, e);
99128
throw e;
100129
}
101130
}
@@ -126,13 +155,13 @@ public static List<Message> receiveMessages(String queueUrl, int maxNumber, int
126155
List<Message> messages = sqsClient.receiveMessage(receiveRequest).messages();
127156

128157
for (Message message : messages) {
129-
logger.info("Received message: " + message.messageId() + ": " + message.body());
158+
LOGGER.info("Received message: " + message.messageId() + ": " + message.body());
130159
}
131160

132161
return messages;
133162

134163
} catch (SqsException e) {
135-
logger.log(Level.SEVERE, "Couldn't receive messages from queue: " + queueUrl, e);
164+
LOGGER.error("Couldn't receive messages from queue: " + queueUrl, e);
136165
throw e;
137166
}
138167
}
@@ -167,20 +196,20 @@ public static DeleteMessageBatchResponse deleteMessages(String queueUrl, List<Me
167196

168197
if (!response.successful().isEmpty()) {
169198
for (DeleteMessageBatchResultEntry resultEntry : response.successful()) {
170-
logger.info("Deleted " + messages.get(Integer.parseInt(resultEntry.id())).receiptHandle());
199+
LOGGER.info("Deleted " + messages.get(Integer.parseInt(resultEntry.id())).receiptHandle());
171200
}
172201
}
173202

174203
if (!response.failed().isEmpty()) {
175204
for (BatchResultErrorEntry errorEntry : response.failed()) {
176-
logger.warning("Could not delete " + messages.get(Integer.parseInt(errorEntry.id())).receiptHandle());
205+
LOGGER.warn("Could not delete " + messages.get(Integer.parseInt(errorEntry.id())).receiptHandle());
177206
}
178207
}
179208

180209
return response;
181210

182211
} catch (SqsException e) {
183-
logger.log(Level.SEVERE, "Couldn't delete messages from queue " + queueUrl, e);
212+
LOGGER.error("Couldn't delete messages from queue " + queueUrl, e);
184213
throw e;
185214
}
186215
}
@@ -311,7 +340,7 @@ public static void usageDemo() {
311340
}
312341

313342
} catch (IOException e) {
314-
logger.log(Level.SEVERE, "Error reading file", e);
343+
LOGGER.error("Error reading file", e);
315344
} finally {
316345
// Clean up by deleting the queue.
317346
DeleteQueueRequest deleteQueueRequest = DeleteQueueRequest.builder()
@@ -325,9 +354,19 @@ public static void usageDemo() {
325354
System.out.println("-".repeat(88));
326355
}
327356

328-
public static void main(String[] args) {
329-
usageDemo();
357+
private static String createQueue(String queueName) {
358+
CreateQueueRequest createRequest = CreateQueueRequest.builder()
359+
.queueName(queueName)
360+
.build();
361+
return sqsClient.createQueue(createRequest).queueUrl();
362+
}
363+
364+
private static void deleteQueue(String queueUrl) {
365+
DeleteQueueRequest deleteQueueRequest = DeleteQueueRequest.builder()
366+
.queueUrl(queueUrl)
367+
.build();
368+
sqsClient.deleteQueue(deleteQueueRequest);
330369
}
331-
}
370+
}
332371
// snippet-end:[sqs.java2.sendRecvBatch.scenario]
333372
// snippet-end:[sqs.java2.sendRecvBatch.main]

0 commit comments

Comments
 (0)