本文整理匯總了Java中net.javacrumbs.shedlock.core.LockProvider類的典型用法代碼示例。如果您正苦於以下問題:Java LockProvider類的具體用法?Java LockProvider怎麽用?Java LockProvider使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
LockProvider類屬於net.javacrumbs.shedlock.core包,在下文中一共展示了LockProvider類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: taskScheduler
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
/**
* 計劃任務分布式鎖配置,保證在多個實例下,任務隻在一台機器上運行.
*
* @param lockProvider
* @return
*/
@Bean
public ScheduledLockConfiguration taskScheduler ( LockProvider lockProvider ) {
return ScheduledLockConfigurationBuilder
.withLockProvider( lockProvider )
.withPoolSize( 30 )
.withDefaultLockAtMostFor( Duration.ofHours( 24 ) )
.build();
}
示例2: fuzzTestShouldWorkWithTransaction
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
public static void fuzzTestShouldWorkWithTransaction(LockProvider lockProvider, DataSource dataSource) throws ExecutionException, InterruptedException {
new FuzzTester(lockProvider) {
@Override
protected Void task(int iterations) {
TransactionTemplate transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(dataSource));
return transactionTemplate.execute(status -> super.task(iterations));
}
@Override
protected boolean shouldLog() {
return true;
}
}.doFuzzTest();
}
示例3: taskScheduler
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Bean
public ScheduledLockConfiguration taskScheduler(LockProvider lockProvider) {
return ScheduledLockConfigurationBuilder
.withLockProvider(lockProvider)
.withPoolSize(10)
.withDefaultLockAtMostFor(Duration.ofMinutes(10))
.build();
}
示例4: shouldBeAbleToLockRightAfterUnlock
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Test
public void shouldBeAbleToLockRightAfterUnlock() {
LockConfiguration lockConfiguration = lockConfig(LOCK_NAME1);
LockProvider lockProvider = getLockProvider();
for (int i = 0; i < 100; i++) {
Optional<SimpleLock> lock = lockProvider.lock(lockConfiguration);
assertThat(lockProvider.lock(lockConfiguration)).isEmpty();
assertThat(lock).isNotEmpty();
lock.get().unlock();
}
}
示例5: getLockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Override
protected LockProvider getLockProvider() {
return new JdbcTemplateLockProvider(getDatasource());
}
示例6: lockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Bean
public LockProvider lockProvider(DataSource dataSource) {
return new JdbcTemplateLockProvider(dataSource, "shedlock");
}
示例7: lockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Bean
public LockProvider lockProvider() {
LockProvider mock = mock(LockProvider.class);
when(mock.lock(any())).thenReturn(Optional.empty());
return mock;
}
示例8: getLockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Override
protected LockProvider getLockProvider() {
return lockProvider;
}
示例9: getLockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Override
protected LockProvider getLockProvider() {
return zookeeperCuratorLockProvider;
}
示例10: getLockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
@Override
protected LockProvider getLockProvider() {
return new JdbcLockProvider(testUtils.getDatasource());
}
示例11: withLockProvider
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
/**
* Configures required lockProvider
*/
static ScheduledLockConfigurationBuilderWithoutTaskScheduler withLockProvider(LockProvider lockProvider) {
return new DefaultScheduledLockConfigurationBuilder(lockProvider);
}
示例12: DefaultScheduledLockConfigurationBuilder
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
public DefaultScheduledLockConfigurationBuilder(LockProvider lockProvider) {
this.lockProvider = lockProvider;
}
示例13: SpringLockableTaskSchedulerFactoryBean
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
public SpringLockableTaskSchedulerFactoryBean(TaskScheduler taskScheduler, LockProvider lockProvider, TemporalAmount defaultLockAtMostFor) {
this(taskScheduler, lockProvider, defaultLockAtMostFor, Duration.ZERO);
}
示例14: FuzzTester
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
public FuzzTester(LockProvider lockProvider) {
this.lockProvider = lockProvider;
}
示例15: newLockableTaskScheduler
import net.javacrumbs.shedlock.core.LockProvider; //導入依賴的package包/類
/**
* Creates {@link ThreadPoolTaskScheduler} and ensures that {@link net.javacrumbs.shedlock.core.SchedulerLock} annotated methods
* are locked using the lockProvider
*
* @param poolSize size of the thread pool
* @param lockProvider lock provider to be used
*/
public static LockableTaskScheduler newLockableTaskScheduler(int poolSize, LockProvider lockProvider) {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(poolSize);
taskScheduler.initialize();
return newLockableTaskScheduler(taskScheduler, lockProvider);
}