private static LockAndTimestampServices createRawEmbeddedServices( MetricsManager metricsManager, Consumer<Object> env, com.google.common.base.Supplier<LockService> lock, com.google.common.base.Supplier<TimestampService> time, com.google.common.base.Supplier<TimestampManagementService> timeManagement) { LockService lockService = ServiceCreator.createInstrumentedService( metricsManager.getRegistry(), lock.get(), LockService.class); TimestampService timeService = ServiceCreator.createInstrumentedService( metricsManager.getRegistry(), time.get(), TimestampService.class); TimestampManagementService timestampManagementService = ServiceCreator.createInstrumentedService( metricsManager.getRegistry(), timeManagement.get(), TimestampManagementService.class); env.accept(lockService); env.accept(timeService); env.accept(timestampManagementService); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(timeService) .timestampManagement(timestampManagementService) .timelock(new LegacyTimelockService(timeService, lockService, LOCK_CLIENT)) .build(); }
private static LockAndTimestampServices withCorroboratingTimestampService( LockAndTimestampServices lockAndTimestampServices) { TimelockService timelockService = TimestampCorroboratingTimelockService .create(lockAndTimestampServices.timelock()); TimestampService corroboratingTimestampService = new TimelockTimestampServiceAdapter(timelockService); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timelock(timelockService) .timestamp(corroboratingTimestampService) .build(); }
private static LockAndTimestampServices createRawRemoteServices( MetricsManager metricsManager, AtlasDbConfig config, String userAgent) { LockService lockService = new ServiceCreator<>(metricsManager, LockService.class, userAgent) .apply(config.lock().get()); TimestampService timeService = new ServiceCreator<>(metricsManager, TimestampService.class, userAgent) .apply(config.timestamp().get()); TimestampManagementService timestampManagementService = new ServiceCreator<>(metricsManager, TimestampManagementService.class, userAgent) .apply(config.timestamp().get()); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(timeService) .timestampManagement(timestampManagementService) .timelock(new LegacyTimelockService(timeService, lockService, LOCK_CLIENT)) .build(); }
private static LockAndTimestampServices withMetrics( MetricsManager metricsManager, LockAndTimestampServices lockAndTimestampServices) { TimelockService timelockServiceWithBatching = lockAndTimestampServices.timelock(); TimelockService instrumentedTimelockService = new InstrumentedTimelockService( timelockServiceWithBatching, metricsManager.getRegistry()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timestamp(new TimelockTimestampServiceAdapter(instrumentedTimelockService)) .timelock(instrumentedTimelockService) .build(); }
private static LockAndTimestampServices withRefreshingLockService( LockAndTimestampServices lockAndTimestampServices) { TimeLockClient timeLockClient = TimeLockClient.createDefault(lockAndTimestampServices.timelock()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timestamp(new TimelockTimestampServiceAdapter(timeLockClient)) .timelock(timeLockClient) .lock(LockRefreshingLockService.create(lockAndTimestampServices.lock())) .close(timeLockClient::close) .build(); }
userAgent); TimeLockClient timeLockClient = TimeLockClient.withSynchronousUnlocker(lockAndTimestampServices.timelock()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timelock(timeLockClient)
private static LockAndTimestampServices getLockAndTimestampServices( MetricsManager metricsManager, Supplier<ServerListConfig> timelockServerListConfig, String userAgent) { LockService lockService = new ServiceCreator<>(metricsManager, LockService.class, userAgent) .applyDynamic(timelockServerListConfig); TimelockService timelockService = new ServiceCreator<>(metricsManager, TimelockService.class, userAgent) .applyDynamic(timelockServerListConfig); TimestampManagementService timestampManagementService = new ServiceCreator<>(metricsManager, TimestampManagementService.class, userAgent) .applyDynamic(timelockServerListConfig); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(new TimelockTimestampServiceAdapter(timelockService)) .timestampManagement(timestampManagementService) .timelock(timelockService) .build(); }
TimestampManagementService dynamicManagementService = LocalOrRemoteProxy.newProxyInstance( TimestampManagementService.class, localManagement, remoteManagement, useLocalServicesFuture); return ImmutableLockAndTimestampServices.builder() .lock(dynamicLockService) .timestamp(dynamicTimeService) return ImmutableLockAndTimestampServices.builder() .lock(remoteLock) .timestamp(remoteTime)
@Override public TransactionManagers.LockAndTimestampServices provideLockAndTimestampServices( MetricsManager metricsManager, ServicesConfig config) { LockService lockService = LockServiceImpl.create(); return ImmutableLockAndTimestampServices.builder() .lock(LockServiceImpl.create()) .timestamp(timestampService) .timestampManagement(timestampService) .timelock(new LegacyTimelockService(timestampService, lockService, TransactionManagers.LOCK_CLIENT)) .build(); } }
private static LockAndTimestampServices createRawEmbeddedServices( MetricsManager metricsManager, Consumer<Object> env, com.google.common.base.Supplier<LockService> lock, com.google.common.base.Supplier<TimestampService> time, com.google.common.base.Supplier<TimestampManagementService> timeManagement) { LockService lockService = ServiceCreator.createInstrumentedService( metricsManager.getRegistry(), lock.get(), LockService.class); TimestampService timeService = ServiceCreator.createInstrumentedService( metricsManager.getRegistry(), time.get(), TimestampService.class); TimestampManagementService timestampManagementService = ServiceCreator.createInstrumentedService( metricsManager.getRegistry(), timeManagement.get(), TimestampManagementService.class); env.accept(lockService); env.accept(timeService); env.accept(timestampManagementService); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(timeService) .timestampManagement(timestampManagementService) .timelock(new LegacyTimelockService(timeService, lockService, LOCK_CLIENT)) .build(); }
private static LockAndTimestampServices withCorroboratingTimestampService( LockAndTimestampServices lockAndTimestampServices) { TimelockService timelockService = TimestampCorroboratingTimelockService .create(lockAndTimestampServices.timelock()); TimestampService corroboratingTimestampService = new TimelockTimestampServiceAdapter(timelockService); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timelock(timelockService) .timestamp(corroboratingTimestampService) .build(); }
private static LockAndTimestampServices createRawRemoteServices( MetricsManager metricsManager, AtlasDbConfig config, String userAgent) { LockService lockService = new ServiceCreator<>(metricsManager, LockService.class, userAgent) .apply(config.lock().get()); TimestampService timeService = new ServiceCreator<>(metricsManager, TimestampService.class, userAgent) .apply(config.timestamp().get()); TimestampManagementService timestampManagementService = new ServiceCreator<>(metricsManager, TimestampManagementService.class, userAgent) .apply(config.timestamp().get()); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(timeService) .timestampManagement(timestampManagementService) .timelock(new LegacyTimelockService(timeService, lockService, LOCK_CLIENT)) .build(); }
private static LockAndTimestampServices withMetrics( MetricsManager metricsManager, LockAndTimestampServices lockAndTimestampServices) { TimelockService timelockServiceWithBatching = lockAndTimestampServices.timelock(); TimelockService instrumentedTimelockService = new InstrumentedTimelockService( timelockServiceWithBatching, metricsManager.getRegistry()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timestamp(new TimelockTimestampServiceAdapter(instrumentedTimelockService)) .timelock(instrumentedTimelockService) .build(); }
private static LockAndTimestampServices withRefreshingLockService( LockAndTimestampServices lockAndTimestampServices) { TimeLockClient timeLockClient = TimeLockClient.createDefault(lockAndTimestampServices.timelock()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timestamp(new TimelockTimestampServiceAdapter(timeLockClient)) .timelock(timeLockClient) .lock(LockRefreshingLockService.create(lockAndTimestampServices.lock())) .close(timeLockClient::close) .build(); }
userAgent); TimeLockClient timeLockClient = TimeLockClient.withSynchronousUnlocker(lockAndTimestampServices.timelock()); return ImmutableLockAndTimestampServices.builder() .from(lockAndTimestampServices) .timelock(timeLockClient)
TimestampManagementService dynamicManagementService = LocalOrRemoteProxy.newProxyInstance( TimestampManagementService.class, localManagement, remoteManagement, useLocalServicesFuture); return ImmutableLockAndTimestampServices.builder() .lock(dynamicLockService) .timestamp(dynamicTimeService) return ImmutableLockAndTimestampServices.builder() .lock(remoteLock) .timestamp(remoteTime)
private static LockAndTimestampServices getLockAndTimestampServices( MetricsManager metricsManager, Supplier<ServerListConfig> timelockServerListConfig, String userAgent) { LockService lockService = new ServiceCreator<>(metricsManager, LockService.class, userAgent) .applyDynamic(timelockServerListConfig); TimelockService timelockService = new ServiceCreator<>(metricsManager, TimelockService.class, userAgent) .applyDynamic(timelockServerListConfig); TimestampManagementService timestampManagementService = new ServiceCreator<>(metricsManager, TimestampManagementService.class, userAgent) .applyDynamic(timelockServerListConfig); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(new TimelockTimestampServiceAdapter(timelockService)) .timestampManagement(timestampManagementService) .timelock(timelockService) .build(); }