Skip to content

Commit 7c9697b

Browse files
ssingerartembilan
authored andcommitted
INT-4500: Fix DefAmqpHeaderMapper correlationId
JIRA https://jira.spring.io/browse/INT-4500 The `correlationId` condition was against a `contentType` by mistake * Code style polishing, add `@author` (cherry picked from commit 0dcbde0)
1 parent 4b1d179 commit 7c9697b

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,13 @@
5050
* @author Gary Russell
5151
* @author Artem Bilan
5252
* @author Stephane Nicoll
53+
* @author Steve Singer
54+
*
5355
* @since 2.1
5456
*/
5557
public class DefaultAmqpHeaderMapper extends AbstractHeaderMapper<MessageProperties> implements AmqpHeaderMapper {
5658

57-
private static final List<String> STANDARD_HEADER_NAMES = new ArrayList<String>();
59+
private static final List<String> STANDARD_HEADER_NAMES = new ArrayList<>();
5860

5961
static {
6062
STANDARD_HEADER_NAMES.add(AmqpHeaders.APP_ID);
@@ -123,7 +125,7 @@ protected Map<String, Object> extractStandardHeaders(MessageProperties amqpMessa
123125
headers.put(AmqpHeaders.CONTENT_TYPE, contentType);
124126
}
125127
String correlationId = amqpMessageProperties.getCorrelationId();
126-
if (StringUtils.hasText(contentType)) {
128+
if (StringUtils.hasText(correlationId)) {
127129
headers.put(AmqpHeaders.CORRELATION_ID, correlationId);
128130
}
129131
MessageDeliveryMode receivedDeliveryMode = amqpMessageProperties.getReceivedDeliveryMode();

spring-integration-amqp/src/test/java/org/springframework/integration/amqp/support/DefaultAmqpHeaderMapperTests.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
* @author Oleg Zhurakousky
4747
* @author Stephane Nicoll
4848
* @author Artem Bilan
49+
* @author Steve Singer
50+
*
4951
* @since 2.1
5052
*/
5153
public class DefaultAmqpHeaderMapperTests {
@@ -201,6 +203,20 @@ public void toHeaders() {
201203
assertEquals("test.replyTo2", headerMap.get(AmqpHeaders.SPRING_REPLY_TO_STACK));
202204
}
203205

206+
@Test
207+
public void toHeadersNonContenType() {
208+
DefaultAmqpHeaderMapper headerMapper = DefaultAmqpHeaderMapper.inboundMapper();
209+
MessageProperties amqpProperties = new MessageProperties();
210+
amqpProperties.setAppId("test.appId");
211+
amqpProperties.setClusterId("test.clusterId");
212+
amqpProperties.setContentType(null);
213+
String testCorrelationId = "foo";
214+
amqpProperties.setCorrelationId(testCorrelationId);
215+
Map<String, Object> headerMap = headerMapper.toHeadersFromReply(amqpProperties);
216+
assertEquals(testCorrelationId, headerMap.get(AmqpHeaders.CORRELATION_ID));
217+
}
218+
219+
204220
@Test
205221
public void testToHeadersConsumerMetadata() {
206222
DefaultAmqpHeaderMapper headerMapper = DefaultAmqpHeaderMapper.inboundMapper();

0 commit comments

Comments
 (0)