Skip to content

Commit 899786e

Browse files
committed
GH-9539: Map AmqpHeaders.RETRY_COUNT in the DefaultAmqpHeaderMapper
Fixes: #9539
1 parent 2ed6d3e commit 899786e

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

spring-integration-amqp/src/main/java/org/springframework/integration/amqp/support/DefaultAmqpHeaderMapper.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
/**
3939
* Default implementation of {@link AmqpHeaderMapper}.
4040
* <p>
41-
* By default this implementation will only copy AMQP properties (e.g. contentType) to and from
41+
* By default, this implementation will only copy AMQP properties (e.g. contentType) to and from
4242
* Spring Integration MessageHeaders. Any user-defined headers within the AMQP
4343
* MessageProperties will NOT be copied to or from an AMQP Message unless
4444
* explicitly identified via 'requestHeaderNames' and/or 'replyHeaderNames'
@@ -146,6 +146,8 @@ protected Map<String, Object> extractStandardHeaders(MessageProperties amqpMessa
146146
.acceptIfHasText(AmqpHeaders.RECEIVED_USER_ID,
147147
amqpMessageProperties.getReceivedUserId(), headers::put);
148148

149+
headers.put(AmqpHeaders.RETRY_COUNT, amqpMessageProperties.getRetryCount());
150+
149151
for (String jsonHeader : JsonHeaders.HEADERS) {
150152
Object value = amqpMessageProperties.getHeaders().get(jsonHeader.replaceFirst(JsonHeaders.PREFIX, ""));
151153
if (value instanceof String && StringUtils.hasText((String) value)) {
@@ -205,6 +207,8 @@ protected void populateStandardHeaders(@Nullable Map<String, Object> allHeaders,
205207
amqpMessageProperties::setDeliveryTag)
206208
.acceptIfHasText(getHeaderIfAvailable(headers, AmqpHeaders.EXPIRATION, String.class),
207209
amqpMessageProperties::setExpiration)
210+
.acceptIfNotNull(getHeaderIfAvailable(headers, AmqpHeaders.RETRY_COUNT, Long.class),
211+
amqpMessageProperties::setRetryCount)
208212
.acceptIfNotNull(getHeaderIfAvailable(headers, AmqpHeaders.MESSAGE_COUNT, Integer.class),
209213
amqpMessageProperties::setMessageCount);
210214
String messageId = getHeaderIfAvailable(headers, AmqpHeaders.MESSAGE_ID, String.class);

0 commit comments

Comments
 (0)