16
16
17
17
package org .springframework .integration .handler ;
18
18
19
+ import java .io .Serial ;
19
20
import java .io .Serializable ;
20
21
import java .time .Instant ;
21
22
import java .util .Collection ;
@@ -418,7 +419,7 @@ private void releaseMessageAfterDelay(final Message<?> message, long delay) {
418
419
messageWrapper = (DelayedMessageWrapper ) message .getPayload ();
419
420
}
420
421
else {
421
- messageWrapper = new DelayedMessageWrapper (message , System . currentTimeMillis ());
422
+ messageWrapper = new DelayedMessageWrapper (message , Instant . now (). toEpochMilli ());
422
423
delayedMessage = getMessageBuilderFactory ()
423
424
.withPayload (messageWrapper )
424
425
.copyHeaders (message .getHeaders ())
@@ -427,7 +428,7 @@ private void releaseMessageAfterDelay(final Message<?> message, long delay) {
427
428
}
428
429
429
430
Runnable releaseTask = releaseTaskForMessage (delayedMessage );
430
- Instant startTime = Instant .ofEpochMilli (messageWrapper .getRequestDate () + delay );
431
+ Instant startTime = Instant .ofEpochMilli (messageWrapper .getRequestDate ()). plusMillis ( delay );
431
432
432
433
if (TransactionSynchronizationManager .isSynchronizationActive () &&
433
434
TransactionSynchronizationManager .isActualTransactionActive ()) {
@@ -637,6 +638,7 @@ public void handleMessage(Message<?> message) throws MessagingException {
637
638
638
639
public static final class DelayedMessageWrapper implements Serializable {
639
640
641
+ @ Serial
640
642
private static final long serialVersionUID = -4739802369074947045L ;
641
643
642
644
private final long requestDate ;
0 commit comments