- public BlankTransactionServiceTracker(ConfigRegistryImpl configRegistry) {
- this.configRegistry = configRegistry;
+ public BlankTransactionServiceTracker(final ConfigRegistryImpl configRegistry) {
+ this(() -> {
+ ObjectName tx = configRegistry.beginConfig(true);
+ return configRegistry.commitConfig(tx);
+ });
+ }
+
+ public BlankTransactionServiceTracker(final BlankTransaction blankTransaction) {
+ this(blankTransaction, DEFAULT_MAX_ATTEMPTS, Executors.newSingleThreadExecutor(new ThreadFactoryBuilder()
+ .setNameFormat("config-blank-txn-%d").build()));
+ }
+
+ @VisibleForTesting
+ BlankTransactionServiceTracker(final BlankTransaction blankTx, final int maxAttempts,
+ final ExecutorService txExecutor) {
+ this.blankTransaction = blankTx;
+ this.maxAttempts = maxAttempts;
+ this.txExecutor = txExecutor;