public static CoordinationResource create(TransactionManager txManager) { return new InstanceManagingCoordinationResource( new AtomicReference<>(SimpleCoordinationResource.create(txManager)), txManager); }
@Override public void run(AtlasDbEteConfiguration config, final Environment environment) throws Exception { TaggedMetricRegistry taggedMetrics = new DefaultTaggedMetricRegistry(); TransactionManager txManager = tryToCreateTransactionManager(config, environment, taggedMetrics); Supplier<SweepTaskRunner> sweepTaskRunner = Suppliers.memoize(() -> getSweepTaskRunner(txManager, environment.metrics(), taggedMetrics)); TargetedSweeper sweeper = TargetedSweeper.createUninitializedForTest(() -> 1); Supplier<TargetedSweeper> sweeperSupplier = Suppliers.memoize(() -> initializeAndGet(sweeper, txManager)); environment.jersey().register(new SimpleTodoResource(new TodoClient( txManager, sweepTaskRunner, sweeperSupplier))); environment.jersey().register(InstanceManagingCoordinationResource.create(txManager)); environment.jersey().register(new SimpleCheckAndSetResource(new CheckAndSetClient(txManager))); environment.jersey().register(HttpRemotingJerseyFeature.INSTANCE); environment.jersey().register(new NotInitializedExceptionMapper()); environment.jersey().register(new SimpleEteTimestampResource(txManager)); }