Skip to content

Commit 08a5adb

Browse files
committed
feat: implement BatchingSqsClientAdapter for enhanced SQS batch operations
1 parent a34831b commit 08a5adb

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package io.awspring.cloud.sqs.operations;
2+
3+
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
4+
import software.amazon.awssdk.services.sqs.batchmanager.SqsAsyncBatchManager;
5+
import software.amazon.awssdk.services.sqs.model.*;
6+
7+
import java.util.concurrent.CompletableFuture;
8+
import java.util.function.Consumer;
9+
10+
public class BatchingSqsClientAdapter implements SqsAsyncClient {
11+
private final SqsAsyncBatchManager batchManager;
12+
13+
public BatchingSqsClientAdapter(SqsAsyncBatchManager batchManager) {
14+
this.batchManager = batchManager;
15+
}
16+
17+
@Override
18+
public String serviceName() {
19+
return SqsAsyncClient.SERVICE_NAME;
20+
}
21+
22+
@Override
23+
public void close() {
24+
batchManager.close();
25+
}
26+
27+
@Override
28+
public CompletableFuture<SendMessageResponse> sendMessage(SendMessageRequest sendMessageRequest) {
29+
return batchManager.sendMessage(sendMessageRequest);
30+
}
31+
32+
@Override
33+
public CompletableFuture<SendMessageResponse> sendMessage(Consumer<SendMessageRequest.Builder> sendMessageRequest) {
34+
return batchManager.sendMessage(sendMessageRequest);
35+
}
36+
37+
@Override
38+
public CompletableFuture<ReceiveMessageResponse> receiveMessage(ReceiveMessageRequest receiveMessageRequest) {
39+
return batchManager.receiveMessage(receiveMessageRequest);
40+
}
41+
42+
@Override
43+
public CompletableFuture<ReceiveMessageResponse> receiveMessage(Consumer<ReceiveMessageRequest.Builder> receiveMessageRequest) {
44+
return batchManager.receiveMessage(receiveMessageRequest);
45+
}
46+
47+
@Override
48+
public CompletableFuture<DeleteMessageResponse> deleteMessage(DeleteMessageRequest deleteMessageRequest) {
49+
return batchManager.deleteMessage(deleteMessageRequest);
50+
}
51+
52+
@Override
53+
public CompletableFuture<DeleteMessageResponse> deleteMessage(Consumer<DeleteMessageRequest.Builder> deleteMessageRequest) {
54+
return batchManager.deleteMessage(deleteMessageRequest);
55+
}
56+
57+
@Override
58+
public CompletableFuture<ChangeMessageVisibilityResponse> changeMessageVisibility(ChangeMessageVisibilityRequest changeMessageVisibilityRequest) {
59+
return batchManager.changeMessageVisibility(changeMessageVisibilityRequest);
60+
}
61+
62+
@Override
63+
public CompletableFuture<ChangeMessageVisibilityResponse> changeMessageVisibility(Consumer<ChangeMessageVisibilityRequest.Builder> changeMessageVisibilityRequest) {
64+
return batchManager.changeMessageVisibility(changeMessageVisibilityRequest);
65+
}
66+
}

0 commit comments

Comments
 (0)