From 0d712c6f65aee79563acd2199c3b53419639ee66 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Thu, 22 Aug 2013 01:15:30 +0300 Subject: [PATCH] INT-3049-2.2.x: public DelayedMessageWrapper JIRA: https://jira.springsource.org/browse/INT-3049 --- .../integration/handler/DelayHandler.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/handler/DelayHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/handler/DelayHandler.java index 6eab5a6bff..8ccdcddd98 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/handler/DelayHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/handler/DelayHandler.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import org.aopalliance.aop.Advice; + import org.springframework.aop.framework.ProxyFactory; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; @@ -238,7 +239,7 @@ public class DelayHandler extends AbstractReplyProducingMessageHandler implement messageWrapper = (DelayedMessageWrapper) message.getPayload(); } else { - messageWrapper = new DelayedMessageWrapper(message); + messageWrapper = new DelayedMessageWrapper(message, System.currentTimeMillis()); delayedMessage = MessageBuilder.withPayload(messageWrapper).copyHeaders(message.getHeaders()).build(); this.messageStore.addMessageToGroup(this.messageGroupId, delayedMessage); } @@ -333,16 +334,17 @@ public class DelayHandler extends AbstractReplyProducingMessageHandler implement } - private static final class DelayedMessageWrapper implements Serializable { + public static final class DelayedMessageWrapper implements Serializable { private static final long serialVersionUID = -4739802369074947045L; - private final long requestDate = System.currentTimeMillis(); + private final long requestDate; private final Message original; - public DelayedMessageWrapper(Message original) { + DelayedMessageWrapper(Message original, long requestDate) { this.original = original; + this.requestDate = requestDate; } public long getRequestDate() { @@ -355,8 +357,12 @@ public class DelayHandler extends AbstractReplyProducingMessageHandler implement @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } DelayedMessageWrapper that = (DelayedMessageWrapper) o;