|
5 | 5 | import static org.assertj.core.api.Assertions.assertThat; |
6 | 6 | import static org.assertj.core.api.Assertions.within; |
7 | 7 |
|
8 | | -import com.google.common.collect.ImmutableMap; |
9 | | - |
10 | 8 | import com.fasterxml.jackson.databind.ObjectMapper; |
11 | 9 | import com.jashmore.sqs.QueueProperties; |
12 | 10 | import com.jashmore.sqs.argument.ArgumentResolverService; |
13 | 11 | import com.jashmore.sqs.argument.CoreArgumentResolverService; |
14 | | -import com.jashmore.sqs.argument.attribute.MessageAttribute; |
15 | | -import com.jashmore.sqs.argument.attribute.MessageAttributeDataTypes; |
16 | 12 | import com.jashmore.sqs.argument.attribute.MessageSystemAttribute; |
17 | 13 | import com.jashmore.sqs.argument.payload.mapper.JacksonPayloadMapper; |
18 | 14 | import com.jashmore.sqs.argument.payload.mapper.PayloadMapper; |
|
30 | 26 | import com.jashmore.sqs.test.LocalSqsRule; |
31 | 27 | import lombok.AllArgsConstructor; |
32 | 28 | import lombok.extern.slf4j.Slf4j; |
33 | | -import org.assertj.core.data.TemporalOffset; |
34 | 29 | import org.junit.Before; |
35 | 30 | import org.junit.Rule; |
36 | 31 | import org.junit.Test; |
37 | 32 | import software.amazon.awssdk.services.sqs.SqsAsyncClient; |
38 | | -import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; |
39 | 33 | import software.amazon.awssdk.services.sqs.model.MessageSystemAttributeName; |
40 | 34 | import software.amazon.awssdk.services.sqs.model.SendMessageRequest; |
41 | 35 |
|
42 | 36 | import java.time.OffsetDateTime; |
43 | | -import java.time.temporal.ChronoUnit; |
44 | 37 | import java.util.concurrent.CountDownLatch; |
45 | 38 | import java.util.concurrent.atomic.AtomicReference; |
46 | 39 |
|
@@ -111,15 +104,16 @@ public void messageAttributesCanBeConsumedInMessageProcessingMethods() throws Ex |
111 | 104 | assertThat(messageAttributeReference.get()).isCloseTo(OffsetDateTime.now(), within(2, MINUTES)); |
112 | 105 | } |
113 | 106 |
|
| 107 | + @SuppressWarnings("WeakerAccess") |
114 | 108 | @AllArgsConstructor |
115 | 109 | public static class MessageConsumer { |
116 | 110 | private final CountDownLatch latch; |
117 | 111 | private final AtomicReference<OffsetDateTime> valueAtomicReference; |
118 | 112 |
|
119 | 113 | public void consume(@MessageSystemAttribute(MessageSystemAttributeName.APPROXIMATE_FIRST_RECEIVE_TIMESTAMP) final OffsetDateTime value) { |
120 | 114 | log.info("Message processed with attribute: {}", value); |
121 | | - latch.countDown(); |
122 | 115 | valueAtomicReference.set(value); |
| 116 | + latch.countDown(); |
123 | 117 | } |
124 | 118 | } |
125 | 119 | } |
0 commit comments