INT-2406 Add JMSTimestamp Property To Headers

Inbound JMSTimestamp property is now mapped to header
jms_timestamp.
This commit is contained in:
Gary Russell
2012-01-19 09:45:46 -05:00
committed by Mark Fisher
parent ce62274446
commit 0899768d1e
3 changed files with 19 additions and 0 deletions

View File

@@ -196,6 +196,11 @@ public class DefaultJmsHeaderMapper implements JmsHeaderMapper {
catch (Exception e) {
logger.info("failed to read JMSType property, skipping", e);
}
try {
headers.put(JmsHeaders.TIMESTAMP, jmsMessage.getJMSTimestamp());
} catch (Exception e) {
logger.info("failed to read JMSTimestamp property, skipping", e);
}
Enumeration<?> jmsPropertyNames = jmsMessage.getPropertyNames();
if (jmsPropertyNames != null) {
while (jmsPropertyNames.hasMoreElements()) {

View File

@@ -41,4 +41,6 @@ public abstract class JmsHeaders {
public static final String TYPE = PREFIX + "type";
public static final String TIMESTAMP = PREFIX + "timestamp";
}

View File

@@ -205,6 +205,18 @@ public class DefaultJmsHeaderMapperTests {
assertSame(type, attrib);
}
@Test
public void testJmsTimestampMappedToHeader() throws JMSException {
long timestamp = 123L;
javax.jms.Message jmsMessage = new StubTextMessage();
jmsMessage.setJMSTimestamp(timestamp);
DefaultJmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
Map<String, Object> headers = mapper.toHeaders(jmsMessage);
Object attrib = headers.get(JmsHeaders.TIMESTAMP);
assertNotNull(attrib);
assertEquals(timestamp, attrib);
}
@Test
public void testUserDefinedPropertyMappedToHeader() throws JMSException {
javax.jms.Message jmsMessage = new StubTextMessage();