This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a8c838624a042c043e020181ea49de284b788781
Author: danhaywood <[email protected]>
AuthorDate: Sun Aug 30 15:19:11 2020 +0100

    ISIS-2222: moves commandreplay classes to correct package
---
 .../impl/IsisModuleExtCommandLogImpl.java          |  2 +-
 ...ndExecutionFromBackgroundCommandServiceJdo.java |  6 ++--
 .../background/BackgroundCommandServiceJdo.java    |  8 ++---
 .../BackgroundCommandServiceJdoRepository.java     |  6 ++--
 .../extensions/commandlog/impl/jdo/CommandJdo.java |  2 +-
 .../commandlog/impl/jdo/CommandServiceJdo.java     | 11 ++++++-
 .../impl/jdo/CommandServiceJdoRepository.java      | 11 ++++++-
 .../impl/{jdo => ui}/CommandServiceMenu.java       | 23 ++++++++++----
 .../impl/replay/impl/ConfigurationKeys.java        | 22 -------------
 .../commandlog/impl/replay/impl/Holder.java        |  5 ---
 .../impl}/IsisModuleExtCommandReplayImpl.java      | 16 +++++-----
 .../replay => commandreplay}/impl/SlaveStatus.java |  4 +--
 .../impl/StatusException.java                      |  6 ++--
 .../impl/analysis}/CommandReplayAnalyser.java      |  2 +-
 .../analysis}/CommandReplayAnalyserAbstract.java   |  2 +-
 .../CommandReplayAnalyserExceptionStr.java         |  2 +-
 ...mandReplayAnalyserNumberBackgroundCommands.java |  2 +-
 .../analysis}/CommandReplayAnalyserResultStr.java  |  2 +-
 .../analysis}/CommandReplayAnalysisService.java    |  4 +--
 .../impl/clock}/TickingClockService.java           |  6 ++--
 .../executor}/CommandExecutorServiceWithTime.java  |  3 +-
 .../impl/executor}/ReplayableCommandExecution.java | 22 +++++++++----
 .../impl/fetch}/CommandFetcher.java                | 37 ++++++++++------------
 .../impl/fetch/MasterConfiguration.java}           | 15 +++++----
 .../impl/mixins/CommandJdo_download.java           |  6 ++--
 .../impl/mixins}/CommandJdo_exclude.java           |  2 +-
 .../impl/mixins/CommandJdo_openOnMaster.java       |  4 +--
 .../impl/mixins/CommandJdo_replayNext.java         | 18 +++++------
 .../impl/mixins/CommandJdo_replayQueue.java        | 10 +++---
 .../impl/quartz/QuartzConfigKeys.java              | 13 ++++++++
 ...kgroundCommandsWithReplicationAndReplayJob.java | 21 +++++++-----
 .../spi/ReplayCommandExecutionController.java      |  2 +-
 .../impl/ui}/CommandReplayOnMasterService.java     |  6 ++--
 .../impl/ui}/CommandReplayOnSlaveService.java      |  6 ++--
 .../extensions/commandreplay/impl/util/Holder.java |  6 ++++
 .../CommandReplayAnalysisService_trimmed_Test.java |  4 ++-
 ...ndCommandsWithReplicationAndReplayJob_Test.java |  3 +-
 37 files changed, 178 insertions(+), 142 deletions(-)

diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
index bcadcbf..58ab3c6 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
@@ -6,7 +6,7 @@ import org.springframework.context.annotation.Import;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdo;
 import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
-import org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceMenu;
+import org.apache.isis.extensions.commandlog.impl.ui.CommandServiceMenu;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
 import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
 import 
org.apache.isis.testing.fixtures.applib.teardown.TeardownFixtureAbstract;
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java
index b1d3313..dc0d1fe 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.java
@@ -9,7 +9,10 @@ import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.CommandExecutorService;
 import 
org.apache.isis.core.runtimeservices.background.BackgroundCommandExecution;
 
+import lombok.extern.log4j.Log4j2;
+
 @DomainService
+@Log4j2
 public class BackgroundCommandExecutionFromBackgroundCommandServiceJdo
         extends BackgroundCommandExecution {
 
@@ -22,6 +25,5 @@ public class 
BackgroundCommandExecutionFromBackgroundCommandServiceJdo
         return 
backgroundCommandRepository.findBackgroundCommandsNotYetStarted();
     }
 
-    @Inject
-    BackgroundCommandServiceJdoRepository backgroundCommandRepository;
+    @Inject BackgroundCommandServiceJdoRepository backgroundCommandRepository;
 }
\ No newline at end of file
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java
index b47016f..637440e 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdo.java
@@ -20,17 +20,17 @@ import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepositor
 import org.apache.isis.schema.cmd.v2.CommandDto;
 import org.apache.isis.schema.common.v2.OidDto;
 
+import lombok.extern.log4j.Log4j2;
+
 /**
  * Persists a memento-ized action such that it can be executed asynchronously,
  * for example through a Quartz scheduler (using
  * {@link BackgroundCommandExecutionFromBackgroundCommandServiceJdo}).
  */
-@DomainService()
+@DomainService
+@Log4j2
 public class BackgroundCommandServiceJdo implements BackgroundCommandService {
 
-    @SuppressWarnings("unused")
-    private static final Logger LOG = 
LoggerFactory.getLogger(BackgroundCommandServiceJdo.class);
-
     @Override
     public void schedule(
             final CommandDto dto,
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java
index fbaef79..5b81684 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/background/BackgroundCommandServiceJdoRepository.java
@@ -12,6 +12,8 @@ import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
 
+import lombok.extern.log4j.Log4j2;
+
 /**
  * Provides supporting functionality for querying
  * {@link CommandJdo command} entities that have been persisted
@@ -23,11 +25,9 @@ import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepositor
  * need to explicitly register it as a service (eg in 
<tt>isis.properties</tt>).
  */
 @DomainService()
+@Log4j2
 public class BackgroundCommandServiceJdoRepository {
 
-    @SuppressWarnings("unused")
-    private static final Logger LOG = 
LoggerFactory.getLogger(BackgroundCommandServiceJdoRepository.class);
-
     @Programmatic
     public List<CommandJdo> findByParent(CommandJdo parent) {
         return commandServiceRepository.findBackgroundCommandsByParent(parent);
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
index 827299f..baf6f58 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
@@ -221,7 +221,7 @@ import lombok.extern.log4j.Log4j2;
         @javax.jdo.annotations.Index(name = "CommandJdo_startedAt_e_c_IDX", 
members = {"startedAt", "executeIn", "completedAt"}),
 })
 @DomainObject(
-        objectType = "isisextcorecommandlog.Command",
+        objectType = "isisextcommandlog.Command",
         editing = Editing.DISABLED
 )
 @DomainObjectLayout(named = "Command")
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java
index 0d10483..4072f65 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdo.java
@@ -1,20 +1,29 @@
 package org.apache.isis.extensions.commandlog.impl.jdo;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Primary;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.CommandExecuteIn;
 import org.apache.isis.applib.annotation.CommandPersistence;
 import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.Command.Executor;
 import org.apache.isis.applib.services.command.spi.CommandService;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 
-@DomainService()
+@Service
+@Named("isisExtensionsCommandLog.CommandServiceJdo")
+@Order(OrderPrecedence.MIDPOINT)
+@Qualifier("Jdo")
 public class CommandServiceJdo implements CommandService {
 
     @SuppressWarnings("unused")
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java
index a0cefd4..70d2cf9 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceJdoRepository.java
@@ -8,9 +8,15 @@ import java.util.Optional;
 import java.util.UUID;
 
 
+import javax.inject.Named;
+
 import org.joda.time.LocalDate;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.jaxb.JavaSqlXMLGregorianCalendarMarshalling;
 import org.apache.isis.applib.query.Query;
@@ -36,7 +42,10 @@ import lombok.var;
  * Provides supporting functionality for querying and persisting
  * {@link CommandJdo command} entities.
  */
-@DomainService()
+@Service
+@Named("isisExtensionsCommandLog.CommandServiceJdoRepository")
+@Order(OrderPrecedence.MIDPOINT)
+@Qualifier("Jdo")
 public class CommandServiceJdoRepository {
 
     public List<CommandJdo> findByFromAndTo(
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceMenu.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
similarity index 82%
rename from 
extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceMenu.java
rename to 
extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
index b61cbb4..2958364 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandServiceMenu.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
@@ -1,9 +1,15 @@
-package org.apache.isis.extensions.commandlog.impl.jdo;
+package org.apache.isis.extensions.commandlog.impl.ui;
 
 import java.util.List;
 import java.util.UUID;
 
+import javax.inject.Inject;
+import javax.inject.Named;
+
 import org.joda.time.LocalDate;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -13,20 +19,27 @@ import 
org.apache.isis.applib.annotation.DomainServiceLayout;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Optionality;
+import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.extensions.commandlog.impl.IsisModuleExtCommandLogImpl;
+import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
+import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
 
 @DomainService(
         nature = NatureOfService.VIEW,
-        objectType = "isisextcorecommandlog.CommandServiceMenu"
+        objectType = "isisextcommandlog.CommandServiceMenu"
 )
 @DomainServiceLayout(
         named = "Activity"
         , menuBar = DomainServiceLayout.MenuBar.SECONDARY
 )
+@Service
+@Named("isisExtensionsCommandLog.CommandServiceJdoRepository")
+@Order(OrderPrecedence.MIDPOINT)
+@Qualifier("Jdo")
 public class CommandServiceMenu {
 
     public static abstract class PropertyDomainEvent<T>
@@ -89,11 +102,9 @@ public class CommandServiceMenu {
 
 
 
-    @javax.inject.Inject
-    CommandServiceJdoRepository commandServiceRepository;
+    @Inject CommandServiceJdoRepository commandServiceRepository;
 
-    @javax.inject.Inject
-    ClockService clockService;
+    @Inject ClockService clockService;
 
 }
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ConfigurationKeys.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ConfigurationKeys.java
deleted file mode 100644
index 2a4894f..0000000
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ConfigurationKeys.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
-
-import lombok.experimental.UtilityClass;
-
-@UtilityClass
-public class ConfigurationKeys {
-
-    static final String SLAVE_USER_QUARTZ_KEY  = "user";
-    static final String SLAVE_USER_DEFAULT     = "replay_user";
-    static final String SLAVE_ROLES_QUARTZ_KEY = "roles";
-    static final String SLAVE_ROLES_DEFAULT    = "replay_role";
-
-    static final String ISIS_KEY_PREFIX = "isis.command.replay.";
-
-    // eg "http://localhost:8080/restful/";
-    public static final String MASTER_BASE_URL_ISIS_KEY              = 
ISIS_KEY_PREFIX + "master.baseUrl";
-    public static final String MASTER_PASSWORD_ISIS_KEY              = 
ISIS_KEY_PREFIX + "master.password";
-    public static final String MASTER_USER_ISIS_KEY                  = 
ISIS_KEY_PREFIX + "master.user";
-    public static final String MASTER_BASE_URL_END_USER_URL_ISIS_KEY = 
ISIS_KEY_PREFIX + "master.baseUrlEndUser";
-    public static final String MASTER_BATCH_SIZE_ISIS_KEY = ISIS_KEY_PREFIX + 
"master.batchSize";
-    public static final int MASTER_BATCH_SIZE_ISIS_DEFAULT = 10;
-}
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/Holder.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/Holder.java
deleted file mode 100644
index d5f700f..0000000
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/Holder.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
-
-import lombok.Data;
-
-@Data class Holder<T> { T object; }
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/IsisModuleExtCommandReplayImpl.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/IsisModuleExtCommandReplayImpl.java
similarity index 65%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/IsisModuleExtCommandReplayImpl.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/IsisModuleExtCommandReplayImpl.java
index e93191d..9c715fe 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/IsisModuleExtCommandReplayImpl.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/IsisModuleExtCommandReplayImpl.java
@@ -1,16 +1,16 @@
-package org.apache.isis.extensions.commandlog.impl.replay;
+package org.apache.isis.extensions.commandreplay.impl;
 
 
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 import org.apache.isis.extensions.commandlog.impl.IsisModuleExtCommandLogImpl;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandExecutorServiceWithTime;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.SlaveConfiguration;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.TickingClockService;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayAnalysisService;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnMasterService;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnSlaveService;
+import 
org.apache.isis.extensions.commandreplay.impl.executor.CommandExecutorServiceWithTime;
+import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration;
+import org.apache.isis.extensions.commandreplay.impl.clock.TickingClockService;
+import 
org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService;
+import 
org.apache.isis.extensions.commandreplay.impl.ui.CommandReplayOnMasterService;
+import 
org.apache.isis.extensions.commandreplay.impl.ui.CommandReplayOnSlaveService;
 
 @Configuration
 @Import({
@@ -25,7 +25,7 @@ import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnSla
         TickingClockService.class,
 
         // @Service's
-        SlaveConfiguration.class,
+        MasterConfiguration.class,
 
 })
 public class IsisModuleExtCommandReplayImpl {
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveStatus.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/SlaveStatus.java
similarity index 65%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveStatus.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/SlaveStatus.java
index 2ed4a74..9c75e7e 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveStatus.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/SlaveStatus.java
@@ -1,6 +1,6 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl;
 
-enum SlaveStatus {
+public enum SlaveStatus {
     TICKING_CLOCK_STATUS_UNKNOWN,
     TICKING_CLOCK_NOT_YET_INITIALIZED,
     OK,
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/StatusException.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/StatusException.java
similarity index 52%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/StatusException.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/StatusException.java
index 7f67376..ff01054 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/StatusException.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/StatusException.java
@@ -1,13 +1,13 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl;
 
 
 public class StatusException extends Exception {
     public final SlaveStatus slaveStatus;
 
-    StatusException(SlaveStatus slaveStatus) {
+    public StatusException(SlaveStatus slaveStatus) {
         this(slaveStatus, null);
     }
-    StatusException(SlaveStatus slaveStatus, final Exception ex) {
+    public StatusException(SlaveStatus slaveStatus, final Exception ex) {
         super(ex);
         this.slaveStatus = slaveStatus;
     }
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyser.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyser.java
similarity index 82%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyser.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyser.java
index ff6be99..5ec040b 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyser.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyser.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.spi;
+package org.apache.isis.extensions.commandreplay.impl.analysis;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.command.Command;
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserAbstract.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserAbstract.java
similarity index 95%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserAbstract.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserAbstract.java
index 3f5fb75..79d428f 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserAbstract.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserAbstract.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.spi;
+package org.apache.isis.extensions.commandreplay.impl.analysis;
 
 import java.util.Map;
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserExceptionStr.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserExceptionStr.java
similarity index 96%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserExceptionStr.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserExceptionStr.java
index afc19ee..e1571a0 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserExceptionStr.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserExceptionStr.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.spi;
+package org.apache.isis.extensions.commandreplay.impl.analysis;
 
 import com.google.common.base.Objects;
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserNumberBackgroundCommands.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserNumberBackgroundCommands.java
similarity index 98%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserNumberBackgroundCommands.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserNumberBackgroundCommands.java
index 9497b64..aaedd95 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserNumberBackgroundCommands.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserNumberBackgroundCommands.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.spi;
+package org.apache.isis.extensions.commandreplay.impl.analysis;
 
 import java.util.List;
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserResultStr.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserResultStr.java
similarity index 95%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserResultStr.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserResultStr.java
index 71336a5..1c4a01c 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/CommandReplayAnalyserResultStr.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalyserResultStr.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.spi;
+package org.apache.isis.extensions.commandreplay.impl.analysis;
 
 import com.google.common.base.Objects;
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalysisService.java
similarity index 93%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalysisService.java
index c68809d..b5317c0 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/analysis/CommandReplayAnalysisService.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.analysis;
 
 import java.util.List;
 
@@ -8,7 +8,7 @@ import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import org.apache.isis.extensions.commandlog.impl.jdo.ReplayState;
-import 
org.apache.isis.extensions.commandlog.impl.replay.spi.CommandReplayAnalyser;
+import 
org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalyser;
 import org.apache.isis.schema.cmd.v2.CommandDto;
 
 import lombok.extern.log4j.Log4j2;
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/TickingClockService.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/clock/TickingClockService.java
similarity index 94%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/TickingClockService.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/clock/TickingClockService.java
index 82ed844..9537ca8 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/TickingClockService.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/clock/TickingClockService.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.clock;
 
 import java.sql.Timestamp;
 import java.util.Optional;
@@ -44,9 +44,7 @@ public class TickingClockService {
         if( !baseUrl.isPresent()||
             !user.isPresent() ||
             !password.isPresent()) {
-            log.info(
-                    "init() - skipping, one or more {}.* configuration 
constants missing",
-                    ConfigurationKeys.ISIS_KEY_PREFIX);
+            log.info("init() - skipping, one or more 
'isis.extensions.command-replay.master' configuration constants missing");
             return;
         }
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandExecutorServiceWithTime.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/CommandExecutorServiceWithTime.java
similarity index 95%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandExecutorServiceWithTime.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/CommandExecutorServiceWithTime.java
index 5374128..0c2e724 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandExecutorServiceWithTime.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/CommandExecutorServiceWithTime.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.executor;
 
 import java.sql.Timestamp;
 import java.util.concurrent.Callable;
@@ -27,6 +27,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.CommandExecutorService;
 import org.apache.isis.applib.services.command.CommandWithDto;
+import org.apache.isis.extensions.commandreplay.impl.clock.TickingClockService;
 import org.apache.isis.schema.cmd.v2.CommandDto;
 
 import lombok.SneakyThrows;
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ReplayableCommandExecution.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/ReplayableCommandExecution.java
similarity index 86%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ReplayableCommandExecution.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/ReplayableCommandExecution.java
index fe63c5b..700a639 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/ReplayableCommandExecution.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/executor/ReplayableCommandExecution.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.executor;
 
 import java.util.List;
 
@@ -8,7 +8,13 @@ import 
org.apache.isis.applib.services.command.CommandExecutorService;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import 
org.apache.isis.core.runtimeservices.background.CommandExecutionAbstract;
 import org.apache.isis.extensions.commandlog.impl.jdo.ReplayState;
-import 
org.apache.isis.extensions.commandlog.impl.replay.spi.ReplayCommandExecutionController;
+import org.apache.isis.extensions.commandreplay.impl.SlaveStatus;
+import org.apache.isis.extensions.commandreplay.impl.StatusException;
+import 
org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService;
+import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration;
+import org.apache.isis.extensions.commandreplay.impl.fetch.CommandFetcher;
+import 
org.apache.isis.extensions.commandreplay.impl.spi.ReplayCommandExecutionController;
+import org.apache.isis.extensions.commandreplay.impl.util.Holder;
 import org.apache.isis.schema.cmd.v2.CommandDto;
 
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
@@ -20,9 +26,9 @@ import lombok.extern.log4j.Log4j2;
 public class ReplayableCommandExecution
         extends CommandExecutionAbstract {
 
-    private final SlaveConfiguration slaveConfig;
+    private final MasterConfiguration slaveConfig;
 
-    public ReplayableCommandExecution(final SlaveConfiguration slaveConfig) {
+    public ReplayableCommandExecution(final MasterConfiguration slaveConfig) {
         super(CommandExecutorService.SudoPolicy.SWITCH);
         this.slaveConfig = slaveConfig;
     }
@@ -101,7 +107,7 @@ public class ReplayableCommandExecution
                 //
                 // replicate next command from master (if any)
                 //
-                final CommandDto commandDto = 
commandFetcher.fetchCommand(hwmCommand, slaveConfig);
+                final CommandDto commandDto = 
commandFetcher.fetchCommand(hwmCommand);
                 if (commandDto == null) {
                     log.info("No more commands found, breaking out");
                     return;
@@ -161,8 +167,10 @@ public class ReplayableCommandExecution
 
 
     @Inject TransactionService transactionService;
-    @Inject CommandFetcher commandFetcher;
+    @Inject
+    CommandFetcher commandFetcher;
     @Inject CommandServiceJdoRepository commandServiceJdoRepository;
-    @Inject CommandReplayAnalysisService analysisService;
+    @Inject
+    CommandReplayAnalysisService analysisService;
     @Inject ReplayCommandExecutionController controller;
 }
\ No newline at end of file
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandFetcher.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/CommandFetcher.java
similarity index 78%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandFetcher.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/CommandFetcher.java
index 93ec6d8..def3c0b 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandFetcher.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/CommandFetcher.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.fetch;
 
 import java.net.URI;
 import java.util.List;
@@ -12,6 +12,8 @@ import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.jaxb.JaxbService;
+import org.apache.isis.extensions.commandreplay.impl.SlaveStatus;
+import org.apache.isis.extensions.commandreplay.impl.StatusException;
 import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsClient;
 import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsResponse;
 import org.apache.isis.extensions.jaxrsclient.impl.client.JaxRsClientDefault;
@@ -26,27 +28,24 @@ import lombok.extern.log4j.Log4j2;
 public class CommandFetcher {
 
     static final String URL_SUFFIX =
-            
"services/isiscommand.CommandReplayOnMasterService/actions/findCommandsOnMasterSince/invoke";
+            
"services/isisextcommandlog.CommandReplayOnMasterService/actions/findCommandsOnMasterSince/invoke";
 
 
     /**
      * Replicates a single command.
      *
      * @param previousHwm
-     * @param slaveConfig
-     *
      * @return
      * @throws StatusException
      */
     @Programmatic
     public CommandDto fetchCommand(
-            final Command previousHwm,
-            final SlaveConfiguration slaveConfig)
+            final Command previousHwm)
             throws StatusException {
 
         log.debug("finding command on master ...");
 
-        final CommandsDto commandsDto = fetchCommands(previousHwm, 
slaveConfig);
+        final CommandsDto commandsDto = fetchCommands(previousHwm);
 
         if (commandsDto == null) {
             return null;
@@ -62,16 +61,14 @@ public class CommandFetcher {
      * @return - the commands, or <tt>null</tt> if none were found
      * @throws StatusException
      */
-    private CommandsDto fetchCommands(
-            final Command previousHwm,
-            final SlaveConfiguration slaveConfig) throws StatusException {
+    private CommandsDto fetchCommands(final Command previousHwm) throws 
StatusException {
         final UUID transactionId = previousHwm != null ? 
previousHwm.getUniqueId() : null;
 
         log.debug("finding commands on master ...");
 
-        final URI uri = buildUri(transactionId, slaveConfig);
+        final URI uri = buildUri(transactionId);
 
-        final JaxRsResponse response = callMaster(slaveConfig, uri);
+        final JaxRsResponse response = callMaster(uri);
 
         final CommandsDto commandsDto = unmarshal(response, uri);
 
@@ -83,28 +80,27 @@ public class CommandFetcher {
     }
 
 
-
-    private URI buildUri(final UUID transactionId, final SlaveConfiguration 
slaveConfig) {
+    private URI buildUri(final UUID transactionId) {
         final UriBuilder uriBuilder = UriBuilder.fromUri(
                 transactionId != null
                         ? String.format(
                         "%s%s?transactionId=%s&batchSize=%d",
-                        slaveConfig.masterBaseUrl, URL_SUFFIX, transactionId, 
slaveConfig.masterBatchSize)
+                        masterConfiguration.getMasterBaseUrl(), URL_SUFFIX, 
transactionId, masterConfiguration.getMasterBatchSize())
                         : String.format(
                         "%s%s?batchSize=%d",
-                        slaveConfig.masterBaseUrl, URL_SUFFIX, 
slaveConfig.masterBatchSize)
+                        masterConfiguration.getMasterBaseUrl(), URL_SUFFIX, 
masterConfiguration.getMasterBatchSize())
         );
         final URI uri = uriBuilder.build();
         log.info("uri = {}", uri);
         return uri;
     }
 
-    private JaxRsResponse callMaster(final SlaveConfiguration slaveConfig, 
final URI uri) throws StatusException {
+    private JaxRsResponse callMaster(final URI uri) throws StatusException {
         final JaxRsResponse response;
         final JaxRsClient jaxRsClient = new JaxRsClientDefault();
         try {
-            final String user = slaveConfig.masterUser;
-            final String password = slaveConfig.masterPassword;
+            final String user = masterConfiguration.getMasterUser();
+            final String password = masterConfiguration.getMasterPassword();
             response = jaxRsClient.get(uri, CommandsDto.class, 
JaxRsClient.ReprType.ACTION_RESULT, user, password);
             int status = response.getStatus();
             if(status != Response.Status.OK.getStatusCode()) {
@@ -146,6 +142,7 @@ public class CommandFetcher {
         }
     }
 
-    @Inject SlaveConfiguration slaveConfiguration;
+    @Inject
+    MasterConfiguration masterConfiguration;
 
 }
\ No newline at end of file
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveConfiguration.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/MasterConfiguration.java
similarity index 70%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveConfiguration.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/MasterConfiguration.java
index 6a47f56..727f7d5 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/SlaveConfiguration.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/fetch/MasterConfiguration.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.fetch;
 
 import javax.validation.constraints.NotNull;
 
@@ -6,19 +6,20 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.core.config.IsisConfiguration;
 
+import lombok.Getter;
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 @Service
 @Log4j2
-public class SlaveConfiguration {
+public class MasterConfiguration {
 
-    final String masterUser;
-    final String masterPassword;
-    final String masterBaseUrl;
-    final int masterBatchSize;
+    @Getter final String masterUser;
+    @Getter final String masterPassword;
+    @Getter final String masterBaseUrl;
+    @Getter final int masterBatchSize;
 
-    public SlaveConfiguration(@NotNull IsisConfiguration isisConfiguration) {
+    public MasterConfiguration(@NotNull IsisConfiguration isisConfiguration) {
         val masterConfig = 
isisConfiguration.getExtensions().getCommandReplay().getMaster();
         masterUser = masterConfig.getUser().orElse(null);
         masterPassword = masterConfig.getPassword().orElse(null);
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_download.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_download.java
similarity index 85%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_download.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_download.java
index 369961f..6c25cd1 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_download.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_download.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins;
+package org.apache.isis.extensions.commandreplay.impl.mixins;
 
 import javax.inject.Inject;
 
@@ -10,9 +10,9 @@ import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.value.Clob;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
-import 
org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl;
+import 
org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl;
 
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayOnMasterService;
+import 
org.apache.isis.extensions.commandreplay.impl.ui.CommandReplayOnMasterService;
 
 @Action(
         semantics = SemanticsOf.NON_IDEMPOTENT,
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandJdo_exclude.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_exclude.java
similarity index 96%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandJdo_exclude.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_exclude.java
index f6bb390..0c89af5 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandJdo_exclude.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_exclude.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.mixins;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.CommandPersistence;
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_openOnMaster.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_openOnMaster.java
similarity index 91%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_openOnMaster.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_openOnMaster.java
index 8cacb46..6734cc4 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_openOnMaster.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_openOnMaster.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins;
+package org.apache.isis.extensions.commandreplay.impl.mixins;
 
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -12,7 +12,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
 import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
-import 
org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl;
+import 
org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl;
 
 @Action(
         semantics = SemanticsOf.SAFE,
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayNext.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayNext.java
similarity index 86%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayNext.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayNext.java
index ae0de95..e09d0b9 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayNext.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayNext.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins;
+package org.apache.isis.extensions.commandreplay.impl.mixins;
 
 import java.util.List;
 
@@ -12,13 +12,13 @@ import 
org.apache.isis.applib.services.command.CommandExecutorService;
 import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
-import 
org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.SlaveConfiguration;
-import org.apache.isis.extensions.commandlog.impl.replay.impl.StatusException;
+import 
org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl;
+import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration;
+import org.apache.isis.extensions.commandreplay.impl.StatusException;
 import org.apache.isis.schema.cmd.v2.CommandDto;
 
-import org.apache.isis.extensions.commandlog.impl.replay.impl.CommandFetcher;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.CommandReplayAnalysisService;
+import org.apache.isis.extensions.commandreplay.impl.fetch.CommandFetcher;
+import 
org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService;
 
 @Action(
         semantics = SemanticsOf.NON_IDEMPOTENT,
@@ -58,7 +58,7 @@ public class CommandJdo_replayNext {
 
 
     private CommandJdo fetchNext() throws StatusException {
-        final CommandDto commandDto = 
commandFetcher.fetchCommand(this.commandJdo, slaveConfiguration);
+        final CommandDto commandDto = 
commandFetcher.fetchCommand(this.commandJdo);
         return commandDto == null
                 ? null
                 : commandServiceJdoRepository.saveForReplay(commandDto);
@@ -98,7 +98,7 @@ public class CommandJdo_replayNext {
     }
 
     public boolean hideAct() {
-        return !slaveConfiguration.isConfigured();
+        return !masterConfiguration.isConfigured();
     }
 
 
@@ -107,7 +107,7 @@ public class CommandJdo_replayNext {
     @Inject CommandFetcher commandFetcher;
     @Inject CommandExecutorService commandExecutorService;
     @Inject
-    SlaveConfiguration slaveConfiguration;
+    MasterConfiguration masterConfiguration;
     @Inject MessageService messageService;
     @Inject CommandReplayAnalysisService analysisService;
 }
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayQueue.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayQueue.java
similarity index 78%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayQueue.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayQueue.java
index 81cf1a9..2f4286d 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/mixins/CommandJdo_replayQueue.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/mixins/CommandJdo_replayQueue.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl.mixins;
+package org.apache.isis.extensions.commandreplay.impl.mixins;
 
 import java.util.List;
 
@@ -10,8 +10,8 @@ import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Mixin;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
-import 
org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl;
-import 
org.apache.isis.extensions.commandlog.impl.replay.impl.SlaveConfiguration;
+import 
org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl;
+import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration;
 
 @Collection(
         domainEvent = CommandJdo_replayQueue.CollectionDomainEvent.class
@@ -36,11 +36,11 @@ public class CommandJdo_replayQueue {
     }
 
     public boolean hideColl() {
-        return !slaveConfiguration.isConfigured();
+        return !masterConfiguration.isConfigured();
     }
 
     @Inject
-    SlaveConfiguration slaveConfiguration;
+    MasterConfiguration masterConfiguration;
     @Inject
     CommandServiceJdoRepository commandServiceJdoRepository;
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/QuartzConfigKeys.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/QuartzConfigKeys.java
new file mode 100644
index 0000000..43357bb
--- /dev/null
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/QuartzConfigKeys.java
@@ -0,0 +1,13 @@
+package org.apache.isis.extensions.commandreplay.impl.quartz;
+
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public class QuartzConfigKeys {
+
+    static final String SLAVE_USER_QUARTZ_KEY  = "user";
+    static final String SLAVE_USER_DEFAULT     = "replay_user";
+    static final String SLAVE_ROLES_QUARTZ_KEY = "roles";
+    static final String SLAVE_ROLES_DEFAULT    = "replay_role";
+
+}
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/RunBackgroundCommandsWithReplicationAndReplayJob.java
similarity index 85%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/RunBackgroundCommandsWithReplicationAndReplayJob.java
index c446f08..a68911f 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/quartz/RunBackgroundCommandsWithReplicationAndReplayJob.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.quartz;
 
 import javax.inject.Inject;
 
@@ -17,11 +17,16 @@ import 
org.apache.isis.core.security.authentication.AuthenticationSession;
 import org.apache.isis.core.security.authentication.standard.SimpleSession;
 
 import 
org.apache.isis.extensions.commandlog.impl.background.BackgroundCommandExecutionFromBackgroundCommandServiceJdo;
+import org.apache.isis.extensions.commandreplay.impl.clock.TickingClockService;
+import org.apache.isis.extensions.commandreplay.impl.util.Holder;
+import 
org.apache.isis.extensions.commandreplay.impl.executor.ReplayableCommandExecution;
+import org.apache.isis.extensions.commandreplay.impl.fetch.MasterConfiguration;
+import org.apache.isis.extensions.commandreplay.impl.SlaveStatus;
 
-import static 
org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_ROLES_DEFAULT;
-import static 
org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_ROLES_QUARTZ_KEY;
-import static 
org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_USER_DEFAULT;
-import static 
org.apache.isis.extensions.commandlog.impl.replay.impl.ConfigurationKeys.SLAVE_USER_QUARTZ_KEY;
+import static 
org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_ROLES_DEFAULT;
+import static 
org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_ROLES_QUARTZ_KEY;
+import static 
org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_USER_DEFAULT;
+import static 
org.apache.isis.extensions.commandreplay.impl.quartz.QuartzConfigKeys.SLAVE_USER_QUARTZ_KEY;
 
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
@@ -34,14 +39,14 @@ public class 
RunBackgroundCommandsWithReplicationAndReplayJob implements Job {
     private static final Logger LOG = 
LoggerFactory.getLogger(RunBackgroundCommandsWithReplicationAndReplayJob.class);
 
     AuthenticationSession authSession;
-    SlaveConfiguration slaveConfig;
+    MasterConfiguration slaveConfig;
 
     public void execute(final JobExecutionContext quartzContext) {
 
         // figure out if this instance is configured to run as master or slave
         authSession = new SimpleSessionFromQuartz(quartzContext);
         final IsisConfiguration isisConfiguration = 
lookupIsisConfiguration(authSession);
-        slaveConfig = new SlaveConfiguration(isisConfiguration);
+        slaveConfig = new MasterConfiguration(isisConfiguration);
 
         if(!slaveConfig.isConfigured()) {
             runBackgroundCommandsOnMaster();
@@ -57,7 +62,7 @@ public class RunBackgroundCommandsWithReplicationAndReplayJob 
implements Job {
     }
 
     private void runBackgroundCommandsOnSlave(final JobExecutionContext 
quartzContext) {
-        final SlaveStatus slaveStatus = 
+        final SlaveStatus slaveStatus =
                 getSlaveStatus(quartzContext, 
SlaveStatus.TICKING_CLOCK_STATUS_UNKNOWN);
 
         switch (slaveStatus) {
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/ReplayCommandExecutionController.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/spi/ReplayCommandExecutionController.java
similarity index 84%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/ReplayCommandExecutionController.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/spi/ReplayCommandExecutionController.java
index c7ca469..261d3ec 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/spi/ReplayCommandExecutionController.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/spi/ReplayCommandExecutionController.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.spi;
+package org.apache.isis.extensions.commandreplay.impl.spi;
 
 import org.apache.isis.applib.annotation.Programmatic;
 
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnMasterService.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnMasterService.java
similarity index 97%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnMasterService.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnMasterService.java
index 82c5318..ea55bc2 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnMasterService.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnMasterService.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.ui;
 
 import java.util.List;
 import java.util.UUID;
@@ -22,7 +22,7 @@ import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.value.Clob;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
-import 
org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl;
+import 
org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl;
 import org.apache.isis.schema.cmd.v2.CommandDto;
 import org.apache.isis.schema.cmd.v2.CommandsDto;
 
@@ -31,7 +31,7 @@ import lombok.extern.log4j.Log4j2;
 
 @DomainService(
         nature = NatureOfService.VIEW,
-        objectType = "isisextcorecommandreplay.CommandReplayOnMasterService"
+        objectType = "isisextcommandreplay.CommandReplayOnMasterService"
 )
 @DomainServiceLayout(
         named = "Activity",
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnSlaveService.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnSlaveService.java
similarity index 93%
rename from 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnSlaveService.java
rename to 
extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnSlaveService.java
index 7181983..e30e323 100644
--- 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayOnSlaveService.java
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/ui/CommandReplayOnSlaveService.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.ui;
 
 import java.util.Collections;
 import java.util.List;
@@ -17,14 +17,14 @@ import org.apache.isis.applib.services.jaxb.JaxbService;
 import org.apache.isis.applib.value.Clob;
 import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
 import 
org.apache.isis.extensions.commandlog.impl.jdo.CommandServiceJdoRepository;
-import 
org.apache.isis.extensions.commandlog.impl.replay.IsisModuleExtCommandReplayImpl;
+import 
org.apache.isis.extensions.commandreplay.impl.IsisModuleExtCommandReplayImpl;
 import org.apache.isis.schema.cmd.v2.CommandDto;
 import org.apache.isis.schema.cmd.v2.CommandsDto;
 
 import lombok.extern.log4j.Log4j2;
 
 @DomainService(
-        nature = NatureOfService.VIEW_MENU_ONLY,
+        nature = NatureOfService.VIEW,
         objectType = "isiscommand.CommandReplayOnSlaveService"
 )
 @DomainServiceLayout(
diff --git 
a/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/util/Holder.java
 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/util/Holder.java
new file mode 100644
index 0000000..257737d
--- /dev/null
+++ 
b/extensions/core/command-replay/impl/src/main/java/org/apache/isis/extensions/commandreplay/impl/util/Holder.java
@@ -0,0 +1,6 @@
+package org.apache.isis.extensions.commandreplay.impl.util;
+
+import lombok.Data;
+
+@Data
+public class Holder<T> { T object; }
diff --git 
a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService_trimmed_Test.java
 
b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/CommandReplayAnalysisService_trimmed_Test.java
similarity index 82%
rename from 
extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService_trimmed_Test.java
rename to 
extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/CommandReplayAnalysisService_trimmed_Test.java
index d50d7f4..46ad271 100644
--- 
a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/CommandReplayAnalysisService_trimmed_Test.java
+++ 
b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/CommandReplayAnalysisService_trimmed_Test.java
@@ -1,8 +1,10 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.impl;
 
 import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import 
org.apache.isis.extensions.commandreplay.impl.analysis.CommandReplayAnalysisService;
+
 public class CommandReplayAnalysisService_trimmed_Test {
 
     @Test
diff --git 
a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java
 
b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java
similarity index 89%
rename from 
extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java
rename to 
extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java
index 79b8d58..4ec5d10 100644
--- 
a/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandlog/impl/replay/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java
+++ 
b/extensions/core/command-replay/impl/src/test/java/org/apache/isis/extensions/commandreplay/impl/impl/RunBackgroundCommandsWithReplicationAndReplayJob_Test.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.commandlog.impl.replay.impl;
+package org.apache.isis.extensions.commandreplay.impl.impl;
 
 import java.net.URI;
 
@@ -8,6 +8,7 @@ import javax.ws.rs.core.UriBuilder;
 import org.junit.jupiter.api.Test;
 
 import org.apache.isis.applib.services.jaxb.JaxbService;
+import org.apache.isis.extensions.commandreplay.impl.fetch.CommandFetcher;
 import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsClient;
 import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsResponse;
 import org.apache.isis.extensions.jaxrsclient.impl.client.JaxRsClientDefault;

Reply via email to