Renamed JmsAttributeKeys to JmsHeaders and MailAttributeKeys to MailHeaders. JMS Headers are now propagated properly by the JmsGateway (INT-290).

This commit is contained in:
Mark Fisher
2008-08-19 17:32:48 +00:00
parent c00c13bdff
commit ce87fef7ac
11 changed files with 122 additions and 105 deletions

View File

@@ -48,19 +48,19 @@ public class DefaultJmsHeaderMapper implements MessageHeaderMapper<javax.jms.Mes
public void mapFromMessageHeaders(MessageHeaders headers, javax.jms.Message jmsMessage) {
try {
Object jmsCorrelationId = headers.get(JmsAttributeKeys.CORRELATION_ID);
Object jmsCorrelationId = headers.get(JmsHeaders.CORRELATION_ID);
if (jmsCorrelationId != null && (jmsCorrelationId instanceof String)) {
jmsMessage.setJMSCorrelationID((String) jmsCorrelationId);
}
Object jmsReplyTo = headers.get(JmsAttributeKeys.REPLY_TO);
Object jmsReplyTo = headers.get(JmsHeaders.REPLY_TO);
if (jmsReplyTo != null && (jmsReplyTo instanceof Destination)) {
jmsMessage.setJMSReplyTo((Destination) jmsReplyTo);
}
Object jmsType = headers.get(JmsAttributeKeys.TYPE);
Object jmsType = headers.get(JmsHeaders.TYPE);
if (jmsType != null && (jmsType instanceof String)) {
jmsMessage.setJMSType((String) jmsType);
}
String prefix = JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX;
String prefix = JmsHeaders.USER_PREFIX;
Set<String> attributeNames = headers.keySet();
for (String attributeName : attributeNames) {
if (attributeName.startsWith(prefix)) {
@@ -93,22 +93,22 @@ public class DefaultJmsHeaderMapper implements MessageHeaderMapper<javax.jms.Mes
try {
String correlationId = jmsMessage.getJMSCorrelationID();
if (correlationId != null) {
headers.put(JmsAttributeKeys.CORRELATION_ID, correlationId);
headers.put(JmsHeaders.CORRELATION_ID, correlationId);
}
Destination replyTo = jmsMessage.getJMSReplyTo();
if (replyTo != null) {
headers.put(JmsAttributeKeys.REPLY_TO, replyTo);
headers.put(JmsHeaders.REPLY_TO, replyTo);
}
headers.put(JmsAttributeKeys.REDELIVERED, jmsMessage.getJMSRedelivered());
headers.put(JmsHeaders.REDELIVERED, jmsMessage.getJMSRedelivered());
String type = jmsMessage.getJMSType();
if (type != null) {
headers.put(JmsAttributeKeys.TYPE, type);
headers.put(JmsHeaders.TYPE, type);
}
Enumeration<?> jmsPropertyNames = jmsMessage.getPropertyNames();
if (jmsPropertyNames != null) {
while (jmsPropertyNames.hasMoreElements()) {
String propertyName = jmsPropertyNames.nextElement().toString();
headers.put(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + propertyName,
headers.put(JmsHeaders.USER_PREFIX + propertyName,
jmsMessage.getObjectProperty(propertyName));
}
}

View File

@@ -1,37 +0,0 @@
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.integration.adapter.jms;
/**
* Keys to be used for setting and/or retrieving JMS attributes stored in the
* integration message header.
*
* @author Mark Fisher
*/
public abstract class JmsAttributeKeys {
public static final String USER_DEFINED_ATTRIBUTE_PREFIX = "jms.";
public static final String CORRELATION_ID = "_jms.JMSCorrelationID";
public static final String REPLY_TO = "_jms.JMSReplyTo";
public static final String REDELIVERED = "_jms.JMSRedelivered";
public static final String TYPE = "_jms.JMSType";
}

View File

@@ -48,7 +48,7 @@ public class JmsGateway extends SimpleMessagingGateway implements Lifecycle, Dis
private volatile String destinationName;
private volatile MessageConverter messageConverter = new SimpleMessageConverter();
private volatile MessageConverter messageConverter;
private volatile TaskExecutor taskExecutor;
@@ -133,6 +133,12 @@ public class JmsGateway extends SimpleMessagingGateway implements Lifecycle, Dis
MessageListenerAdapter listener = new MessageListenerAdapter();
listener.setDelegate(this);
listener.setDefaultListenerMethod(this.expectReply ? "sendAndReceive" : "send");
if (this.messageConverter == null) {
this.messageConverter = new SimpleMessageConverter();
}
if (!(this.messageConverter instanceof HeaderMappingMessageConverter)) {
this.messageConverter = new HeaderMappingMessageConverter(this.messageConverter);
}
listener.setMessageConverter(this.messageConverter);
this.container.setMessageListener(listener);
if (!this.container.isActive()) {

View File

@@ -0,0 +1,46 @@
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.integration.adapter.jms;
/**
* Pre-defined names and prefixes to be used for setting and/or retrieving JMS attributes
* from/to integration Message Headers.
*
* @author Mark Fisher
*/
public abstract class JmsHeaders {
/**
* Prefix for any message header that should be passed for usage by the JMS transport.
*/
public static final String TRANSFPORT_PREFIX = "spring.integration.transport.jms.";
/**
* Prefix for any user-defined message header that should be passed within JMS properties.
*/
public static final String USER_PREFIX = "spring.integration.user.jms.";
public static final String CORRELATION_ID = TRANSFPORT_PREFIX + "JMSCorrelationID";
public static final String REPLY_TO = TRANSFPORT_PREFIX + "JMSReplyTo";
public static final String REDELIVERED = TRANSFPORT_PREFIX + "JMSRedelivered";
public static final String TYPE = TRANSFPORT_PREFIX + "JMSType";
}

View File

@@ -129,12 +129,12 @@ public abstract class AbstractMailHeaderMapper implements MessageHeaderMapper<Mi
public Map<String,Object> mapToMessageHeaders(MimeMessage mailMessage) {
try {
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(MailAttributeKeys.FROM, convertToString(mailMessage.getFrom()));
headers.put(MailAttributeKeys.BCC, convertToStringArray(mailMessage.getRecipients(RecipientType.BCC)));
headers.put(MailAttributeKeys.CC, convertToStringArray(mailMessage.getRecipients(RecipientType.CC)));
headers.put(MailAttributeKeys.TO, convertToStringArray(mailMessage.getRecipients(RecipientType.TO)));
headers.put(MailAttributeKeys.REPLY_TO, convertToString(mailMessage.getReplyTo()));
headers.put(MailAttributeKeys.SUBJECT, mailMessage.getSubject());
headers.put(MailHeaders.FROM, convertToString(mailMessage.getFrom()));
headers.put(MailHeaders.BCC, convertToStringArray(mailMessage.getRecipients(RecipientType.BCC)));
headers.put(MailHeaders.CC, convertToStringArray(mailMessage.getRecipients(RecipientType.CC)));
headers.put(MailHeaders.TO, convertToStringArray(mailMessage.getRecipients(RecipientType.TO)));
headers.put(MailHeaders.REPLY_TO, convertToString(mailMessage.getReplyTo()));
headers.put(MailHeaders.SUBJECT, mailMessage.getSubject());
return headers;
}
catch (Exception e) {

View File

@@ -21,7 +21,7 @@ import org.springframework.integration.message.Message;
/**
* The default implementation of {@link MailHeaderGenerator}. Configures the
* {@link org.springframework.mail.MailMessage} properties based on attributes
* provided with known attribute keys as defined in {@link MailAttributeKeys}.
* provided with known attribute keys as defined in {@link MailHeaders}.
*
* @author Mark Fisher
*/
@@ -29,32 +29,32 @@ public class DefaultMailHeaderGenerator extends AbstractMailHeaderGenerator {
@Override
protected String getSubject(Message<?> message) {
return this.retrieveAsString(message, MailAttributeKeys.SUBJECT);
return this.retrieveAsString(message, MailHeaders.SUBJECT);
}
@Override
protected String[] getTo(Message<?> message) {
return this.retrieveAsStringArray(message, MailAttributeKeys.TO);
return this.retrieveAsStringArray(message, MailHeaders.TO);
}
@Override
protected String[] getCc(Message<?> message) {
return this.retrieveAsStringArray(message, MailAttributeKeys.CC);
return this.retrieveAsStringArray(message, MailHeaders.CC);
}
@Override
protected String[] getBcc(Message<?> message) {
return this.retrieveAsStringArray(message, MailAttributeKeys.BCC);
return this.retrieveAsStringArray(message, MailHeaders.BCC);
}
@Override
protected String getFrom(Message<?> message) {
return this.retrieveAsString(message, MailAttributeKeys.FROM);
return this.retrieveAsString(message, MailHeaders.FROM);
}
@Override
protected String getReplyTo(Message<?> message) {
return this.retrieveAsString(message, MailAttributeKeys.REPLY_TO);
return this.retrieveAsString(message, MailHeaders.REPLY_TO);
}

View File

@@ -26,32 +26,32 @@ public class DefaultMailMessageHeaderMapper extends AbstractMailHeaderMapper {
@Override
protected String getSubject(MessageHeaders headers) {
return this.retrieveAsString(headers, MailAttributeKeys.SUBJECT);
return this.retrieveAsString(headers, MailHeaders.SUBJECT);
}
@Override
protected String[] getTo(MessageHeaders headers) {
return this.retrieveAsStringArray(headers, MailAttributeKeys.TO);
return this.retrieveAsStringArray(headers, MailHeaders.TO);
}
@Override
protected String[] getCc(MessageHeaders headers) {
return this.retrieveAsStringArray(headers, MailAttributeKeys.CC);
return this.retrieveAsStringArray(headers, MailHeaders.CC);
}
@Override
protected String[] getBcc(MessageHeaders headers) {
return this.retrieveAsStringArray(headers, MailAttributeKeys.BCC);
return this.retrieveAsStringArray(headers, MailHeaders.BCC);
}
@Override
protected String getFrom(MessageHeaders headers) {
return this.retrieveAsString(headers, MailAttributeKeys.FROM);
return this.retrieveAsString(headers, MailHeaders.FROM);
}
@Override
protected String getReplyTo(MessageHeaders headers) {
return this.retrieveAsString(headers, MailAttributeKeys.REPLY_TO);
return this.retrieveAsString(headers, MailHeaders.REPLY_TO);
}
}

View File

@@ -17,23 +17,25 @@
package org.springframework.integration.adapter.mail;
/**
* Keys to be used for setting and/or retrieving mail attributes stored in the
* integration message header.
* Pre-defined names and prefixes to be used for setting and/or retrieving Mail attributes
* from/to integration Message Headers.
*
* @author Mark Fisher
*/
public class MailAttributeKeys {
public class MailHeaders {
public static final String SUBJECT = "_mail.SUBJECT";
public static final String TRANSFPORT_PREFIX = "spring.integration.transport.mail.";
public static final String TO = "_mail.TO";
public static final String SUBJECT = TRANSFPORT_PREFIX + "SUBJECT";
public static final String CC = "_mail.CC";
public static final String TO = TRANSFPORT_PREFIX + "TO";
public static final String BCC = "_mail.BCC";
public static final String CC = TRANSFPORT_PREFIX + "CC";
public static final String FROM = "_mail.FROM";
public static final String BCC = TRANSFPORT_PREFIX + "BCC";
public static final String REPLY_TO = "_mail.REPLY_TO";
public static final String FROM = TRANSFPORT_PREFIX + "FROM";
public static final String REPLY_TO = TRANSFPORT_PREFIX+ "REPLY_TO";
}

View File

@@ -39,7 +39,7 @@ public class DefaultJmsHeaderMapperTests {
public void testJmsReplyToMappedFromHeader() throws JMSException {
Destination replyTo = new Destination() {};
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.REPLY_TO, replyTo).build();
.setHeader(JmsHeaders.REPLY_TO, replyTo).build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.mapFromMessageHeaders(message.getHeaders(), jmsMessage);
@@ -50,7 +50,7 @@ public class DefaultJmsHeaderMapperTests {
@Test
public void testJmsReplyToIgnoredIfIncorrectType() throws JMSException {
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.REPLY_TO, "not-a-destination").build();
.setHeader(JmsHeaders.REPLY_TO, "not-a-destination").build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.mapFromMessageHeaders(message.getHeaders(), jmsMessage);
@@ -61,7 +61,7 @@ public class DefaultJmsHeaderMapperTests {
public void testJmsCorrelationIdMappedFromHeader() throws JMSException {
String jmsCorrelationId = "ABC-123";
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.CORRELATION_ID, jmsCorrelationId).build();
.setHeader(JmsHeaders.CORRELATION_ID, jmsCorrelationId).build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.mapFromMessageHeaders(message.getHeaders(), jmsMessage);
@@ -72,7 +72,7 @@ public class DefaultJmsHeaderMapperTests {
@Test
public void testJmsCorrelationIdIgnoredIfIncorrectType() throws JMSException {
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.CORRELATION_ID, new Integer(123)).build();
.setHeader(JmsHeaders.CORRELATION_ID, new Integer(123)).build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.mapFromMessageHeaders(message.getHeaders(), jmsMessage);
@@ -83,7 +83,7 @@ public class DefaultJmsHeaderMapperTests {
public void testJmsTypeMappedFromHeader() throws JMSException {
String jmsType = "testing";
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.TYPE, jmsType).build();
.setHeader(JmsHeaders.TYPE, jmsType).build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.mapFromMessageHeaders(message.getHeaders(), jmsMessage);
@@ -94,7 +94,7 @@ public class DefaultJmsHeaderMapperTests {
@Test
public void testJmsTypeIgnoredIfIncorrectType() throws JMSException {
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.TYPE, new Integer(123)).build();
.setHeader(JmsHeaders.TYPE, new Integer(123)).build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.mapFromMessageHeaders(message.getHeaders(), jmsMessage);
@@ -104,7 +104,7 @@ public class DefaultJmsHeaderMapperTests {
@Test
public void testUserDefinedPropertyMappedFromHeader() throws JMSException {
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "foo", new Integer(123))
.setHeader(JmsHeaders.USER_PREFIX + "foo", new Integer(123))
.build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
@@ -119,7 +119,7 @@ public class DefaultJmsHeaderMapperTests {
public void testUserDefinedPropertyWithUnsupportedType() throws JMSException {
Destination destination = new Destination() {};
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "destination", destination)
.setHeader(JmsHeaders.USER_PREFIX + "destination", destination)
.build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage();
@@ -135,7 +135,7 @@ public class DefaultJmsHeaderMapperTests {
jmsMessage.setJMSReplyTo(replyTo);
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
Map<String, Object> headers = mapper.mapToMessageHeaders(jmsMessage);
Object attrib = headers.get(JmsAttributeKeys.REPLY_TO);
Object attrib = headers.get(JmsHeaders.REPLY_TO);
assertNotNull(attrib);
assertSame(replyTo, attrib);
}
@@ -147,7 +147,7 @@ public class DefaultJmsHeaderMapperTests {
jmsMessage.setJMSCorrelationID(correlationId);
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
Map<String, Object> headers = mapper.mapToMessageHeaders(jmsMessage);
Object attrib = headers.get(JmsAttributeKeys.CORRELATION_ID);
Object attrib = headers.get(JmsHeaders.CORRELATION_ID);
assertNotNull(attrib);
assertSame(correlationId, attrib);
}
@@ -159,7 +159,7 @@ public class DefaultJmsHeaderMapperTests {
jmsMessage.setJMSType(type);
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
Map<String, Object> headers = mapper.mapToMessageHeaders(jmsMessage);
Object attrib = headers.get(JmsAttributeKeys.TYPE);
Object attrib = headers.get(JmsHeaders.TYPE);
assertNotNull(attrib);
assertSame(type, attrib);
}
@@ -170,7 +170,7 @@ public class DefaultJmsHeaderMapperTests {
jmsMessage.setIntProperty("foo", 123);
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
Map<String, Object> headers = mapper.mapToMessageHeaders(jmsMessage);
Object attrib = headers.get(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "foo");
Object attrib = headers.get(JmsHeaders.USER_PREFIX + "foo");
assertNotNull(attrib);
assertEquals(Integer.class, attrib.getClass());
assertEquals(123, ((Integer) attrib).intValue());
@@ -179,9 +179,9 @@ public class DefaultJmsHeaderMapperTests {
@Test
public void testJMSExceptionIsNotFatal() throws JMSException {
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "foo", new Integer(123))
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "bad", new Integer(456))
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "bar", new Integer(789))
.setHeader(JmsHeaders.USER_PREFIX + "foo", new Integer(123))
.setHeader(JmsHeaders.USER_PREFIX + "bad", new Integer(456))
.setHeader(JmsHeaders.USER_PREFIX + "bar", new Integer(789))
.build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage() {
@@ -205,9 +205,9 @@ public class DefaultJmsHeaderMapperTests {
@Test
public void testIllegalArgumentExceptionIsNotFatal() throws JMSException {
Message<String> message = MessageBuilder.fromPayload("test")
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "foo", new Integer(123))
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "bad", new Integer(456))
.setHeader(JmsAttributeKeys.USER_DEFINED_ATTRIBUTE_PREFIX + "bar", new Integer(789))
.setHeader(JmsHeaders.USER_PREFIX + "foo", new Integer(123))
.setHeader(JmsHeaders.USER_PREFIX + "bad", new Integer(456))
.setHeader(JmsHeaders.USER_PREFIX + "bar", new Integer(789))
.build();
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
javax.jms.Message jmsMessage = new StubTextMessage() {

View File

@@ -53,7 +53,7 @@ public class DefaultMailMessageHeaderMapperTests {
EasyMock.expect(mailMessageMock.getSubject()).andReturn("mail test");
EasyMock.replay(mailMessageMock);
Map<String, Object> headers = mapper.mapToMessageHeaders(mailMessageMock);
Object fromHeader = headers.get(MailAttributeKeys.FROM);
Object fromHeader = headers.get(MailHeaders.FROM);
assertNotNull(fromHeader);
assertTrue(fromHeader instanceof String);
assertEquals("from@example.org", fromHeader);
@@ -72,7 +72,7 @@ public class DefaultMailMessageHeaderMapperTests {
EasyMock.expect(mailMessageMock.getSubject()).andReturn("mail test");
EasyMock.replay(mailMessageMock);
Map<String, Object> headers = mapper.mapToMessageHeaders(mailMessageMock);
Object replyToHeader = headers.get(MailAttributeKeys.REPLY_TO);
Object replyToHeader = headers.get(MailHeaders.REPLY_TO);
assertNotNull(replyToHeader);
assertTrue(replyToHeader instanceof String);
assertEquals("replyTo@example.org", replyToHeader);
@@ -93,7 +93,7 @@ public class DefaultMailMessageHeaderMapperTests {
EasyMock.expect(mailMessageMock.getSubject()).andReturn("mail test");
EasyMock.replay(mailMessageMock);
Map<String, Object> headers = mapper.mapToMessageHeaders(mailMessageMock);
Object toHeader = headers.get(MailAttributeKeys.TO);
Object toHeader = headers.get(MailHeaders.TO);
assertNotNull(toHeader);
assertTrue(toHeader instanceof String[]);
String[] addresses = (String[]) toHeader;
@@ -106,7 +106,7 @@ public class DefaultMailMessageHeaderMapperTests {
public void mapReplyToValueFromHeadersToMimeMessage() throws MessagingException {
DefaultMailMessageHeaderMapper mapper = new DefaultMailMessageHeaderMapper();
Map<String, Object> headerMap = new HashMap<String, Object>();
headerMap.put(MailAttributeKeys.REPLY_TO, "replyTo@example.org");
headerMap.put(MailHeaders.REPLY_TO, "replyTo@example.org");
MessageHeaders headers = new MessageHeaders(headerMap);
MimeMessage mailMessageMock = EasyMock.createNiceMock(MimeMessage.class);
EasyMock.replay(mailMessageMock);
@@ -121,7 +121,7 @@ public class DefaultMailMessageHeaderMapperTests {
public void mapFromValueFromHeadersToMimeMessage() throws MessagingException {
DefaultMailMessageHeaderMapper mapper = new DefaultMailMessageHeaderMapper();
Map<String, Object> headerMap = new HashMap<String, Object>();
headerMap.put(MailAttributeKeys.FROM, "from@example.org");
headerMap.put(MailHeaders.FROM, "from@example.org");
MessageHeaders headers = new MessageHeaders(headerMap);
MimeMessage mailMessageMock = EasyMock.createNiceMock(MimeMessage.class);
EasyMock.replay(mailMessageMock);
@@ -137,7 +137,7 @@ public class DefaultMailMessageHeaderMapperTests {
DefaultMailMessageHeaderMapper mapper = new DefaultMailMessageHeaderMapper();
Map<String, Object> headerMap = new HashMap<String, Object>();
String[] addressStrings = new String[] { "a@example.org", "b@example.org", "c@example.org" };
headerMap.put(MailAttributeKeys.TO, addressStrings);
headerMap.put(MailHeaders.TO, addressStrings);
MessageHeaders headers = new MessageHeaders(headerMap);
MimeMessage mailMessageMock = EasyMock.createNiceMock(MimeMessage.class);
EasyMock.replay(mailMessageMock);

View File

@@ -95,12 +95,12 @@ public class MailTargetTests {
public void testDefaultMailHeaderGenerator() {
org.springframework.integration.message.Message<String> message =
MessageBuilder.fromPayload(MailTestsHelper.MESSAGE_TEXT)
.setHeader(MailAttributeKeys.SUBJECT, MailTestsHelper.SUBJECT)
.setHeader(MailAttributeKeys.TO, MailTestsHelper.TO)
.setHeader(MailAttributeKeys.CC, MailTestsHelper.CC)
.setHeader(MailAttributeKeys.BCC, MailTestsHelper.BCC)
.setHeader(MailAttributeKeys.FROM, MailTestsHelper.FROM)
.setHeader(MailAttributeKeys.REPLY_TO, MailTestsHelper.REPLY_TO).build();
.setHeader(MailHeaders.SUBJECT, MailTestsHelper.SUBJECT)
.setHeader(MailHeaders.TO, MailTestsHelper.TO)
.setHeader(MailHeaders.CC, MailTestsHelper.CC)
.setHeader(MailHeaders.BCC, MailTestsHelper.BCC)
.setHeader(MailHeaders.FROM, MailTestsHelper.FROM)
.setHeader(MailHeaders.REPLY_TO, MailTestsHelper.REPLY_TO).build();
this.mailTarget.send(message);
SimpleMailMessage mailMessage = MailTestsHelper.createSimpleMailMessage();
assertEquals("no mime message should have been sent",