public boolean accept(Message<?> message) { Long expirationDate = new IntegrationMessageHeaderAccessor(message).getExpirationDate(); if (expirationDate == null) { return true; } return expirationDate > System.currentTimeMillis(); }
@Test public void testExpirationDateSetAsDate() { Long past = System.currentTimeMillis() - (60 * 1000); Message<Integer> expiredMessage = MessageBuilder.withPayload(1) .setExpirationDate(new Date(past)).build(); assertEquals(past, new IntegrationMessageHeaderAccessor(expiredMessage).getExpirationDate()); }
@Test public void expirationDateValue() { MessagingTemplate template = new MessagingTemplate(); MessageChannel channel = context.getBean("expirationDateValueInput", MessageChannel.class); Message<?> result = template.sendAndReceive(channel, new GenericMessage<>("test")); assertNotNull(result); assertEquals(new Long(1111), new IntegrationMessageHeaderAccessor(result).getExpirationDate()); }
@Test public void expirationDateRef() { MessagingTemplate template = new MessagingTemplate(); MessageChannel channel = context.getBean("expirationDateRefInput", MessageChannel.class); Message<?> result = template.sendAndReceive(channel, new GenericMessage<>("test")); assertNotNull(result); assertEquals(new Long(9999), new IntegrationMessageHeaderAccessor(result).getExpirationDate()); }
@Test public void testExpirationDateSetAsLong() { Long past = System.currentTimeMillis() - (60 * 1000); Message<Integer> expiredMessage = MessageBuilder.withPayload(1) .setExpirationDate(past).build(); assertEquals(past, new IntegrationMessageHeaderAccessor(expiredMessage).getExpirationDate()); }
public boolean accept(Message<?> message) { Long expirationDate = new IntegrationMessageHeaderAccessor(message).getExpirationDate(); if (expirationDate == null) { return true; } return expirationDate > System.currentTimeMillis(); }