From e06355e8c5ab91a13d0229d539328ebdb71efcec Mon Sep 17 00:00:00 2001 From: Dan Haywood Date: Mon, 5 Feb 2018 21:27:58 +0000 Subject: [PATCH] #69 - allows CommandFetcher to fetch >1, to allow for fact that some commands may not be replicated Also: - placement of mixins - fix to wall time of TickingClockService --- .../module/command/dom/CommandJdo_retry.java | 12 +++++++++--- .../module/command/replay/impl/CommandFetcher.java | 11 +++++------ .../command/replay/impl/CommandJdo_exclude.java | 2 +- .../command/replay/impl/ConfigurationKeys.java | 2 ++ .../command/replay/impl/SlaveConfiguration.java | 12 ++++++++++++ .../command/replay/impl/TickingClockService.java | 6 ++++-- .../replay/impl/mixins/CommandJdo_replayNext.java | 2 +- 7 files changed, 34 insertions(+), 13 deletions(-) diff --git a/modules/spi/command/impl/src/main/java/org/isisaddons/module/command/dom/CommandJdo_retry.java b/modules/spi/command/impl/src/main/java/org/isisaddons/module/command/dom/CommandJdo_retry.java index 953c3abab..2c979d948 100644 --- a/modules/spi/command/impl/src/main/java/org/isisaddons/module/command/dom/CommandJdo_retry.java +++ b/modules/spi/command/impl/src/main/java/org/isisaddons/module/command/dom/CommandJdo_retry.java @@ -44,7 +44,7 @@ public static class ActionDomainEvent extends CommandModule.ActionDomainEvent map) { masterUser = map.get(MASTER_USER_ISIS_KEY); @@ -20,6 +23,15 @@ public SlaveConfiguration(final Map map) { masterBaseUrl = masterBaseUrl + "/"; } this.masterBaseUrl= masterBaseUrl; + this.masterBatchSize = batchSizeFrom(map); + } + + private static int batchSizeFrom(final Map map) { + try { + return Integer.parseInt(map.get(MASTER_BATCH_SIZE_ISIS_KEY)); + } catch (NumberFormatException e) { + return MASTER_BATCH_SIZE_ISIS_DEFAULT; + } } boolean isConfigured() { diff --git a/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/TickingClockService.java b/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/TickingClockService.java index 3d8a194a3..a12a9d646 100644 --- a/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/TickingClockService.java +++ b/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/TickingClockService.java @@ -86,12 +86,14 @@ public void at(Timestamp timestamp, Runnable runnable) { ensureInitialized(); final TickingFixtureClock instance = (TickingFixtureClock) TickingFixtureClock.getInstance(); - final Timestamp previous = TickingFixtureClock.getTimeAsJavaSqlTimestamp(); + final long previous = TickingFixtureClock.getTimeAsMillis(); + final long wallTime0 = System.currentTimeMillis(); try { instance.setTime(timestamp); runnable.run(); } finally { - instance.setTime(previous); + final long wallTime1 = System.currentTimeMillis(); + instance.setTime(previous + wallTime1 - wallTime0); } } diff --git a/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/mixins/CommandJdo_replayNext.java b/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/mixins/CommandJdo_replayNext.java index 36575986f..49825c8c9 100644 --- a/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/mixins/CommandJdo_replayNext.java +++ b/modules/spi/command/replay/src/main/java/org/isisaddons/module/command/replay/impl/mixins/CommandJdo_replayNext.java @@ -46,7 +46,7 @@ public static class ActionDomainEvent extends CommandModule.ActionDomainEvent