reactor.core.scheduler.Schedulers.immediate()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(204)

本文整理了Java中reactor.core.scheduler.Schedulers.immediate()方法的一些代码示例,展示了Schedulers.immediate()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Schedulers.immediate()方法的具体详情如下:
包路径:reactor.core.scheduler.Schedulers
类名称:Schedulers
方法名:immediate

Schedulers.immediate介绍

[英]Executes tasks on the caller's thread immediately.
[中]立即在调用者的线程上执行任务。

代码示例

代码示例来源:origin: reactor/reactor-core

@Test
  public void scanOperator() {
    MonoElapsed<String> test = new MonoElapsed<>(Mono.empty(), Schedulers.immediate());

    assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
  }
}

代码示例来源:origin: reactor/reactor-core

@Test
public void scanOperator() {
  MonoSubscribeOn<String> test = new MonoSubscribeOn<>(Mono.empty(), Schedulers.immediate());
  assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
}

代码示例来源:origin: reactor/reactor-core

@Test
public void scanOperator() {
  MonoPublishOn<String> test = new MonoPublishOn<>(Mono.empty(), Schedulers.immediate());
  Assertions.assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
}

代码示例来源:origin: reactor/reactor-core

@Test
  public void scanOperator() {
    MonoCancelOn<String> test = new MonoCancelOn<>(Mono.empty(), Schedulers.immediate());

    assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
  }
}

代码示例来源:origin: reactor/reactor-core

@Test
public void scanOperator() {
  MonoDelayElement<String> test = new MonoDelayElement<>(Mono.empty(), 1, TimeUnit.SECONDS, Schedulers.immediate());
  assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
}

代码示例来源:origin: reactor/reactor-core

@Test
  public void scanOperator() {
    MonoSubscribeOnValue<String> test = new MonoSubscribeOnValue<>("foo", Schedulers.immediate());

    assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
  }
}

代码示例来源:origin: spring-projects/spring-security

@Before
public void setup() {
  this.manager = new UserDetailsRepositoryReactiveAuthenticationManager(this.userDetailsService);
  when(this.scheduler.schedule(any())).thenAnswer(a -> {
    Runnable r = a.getArgument(0);
    return Schedulers.immediate().schedule(r);
  });
}

代码示例来源:origin: reactor/reactor-core

@Test
public void scanOperator() {
  MonoDelay test = new MonoDelay(1, TimeUnit.SECONDS, Schedulers.immediate());
  assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
}

代码示例来源:origin: reactor/reactor-core

@Test
public void scanOperator() {
  FluxDelaySequence<String> test = new FluxDelaySequence<>(Flux.empty(), Duration.ofSeconds(1), Schedulers.immediate());
  assertThat(test.scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
}

代码示例来源:origin: reactor/reactor-core

@Override
protected List<Scenario<String, String>> scenarios_operatorSuccess() {
  return Arrays.asList(
       scenario(f -> f.publishOn(Schedulers.immediate())),
      scenario(f -> f.publishOn(Schedulers.immediate(), false, 4))
          .prefetch(4),
      scenario(f -> f.publishOn(Schedulers.immediate(), 1))
          .prefetch(1),
      scenario(f -> f.publishOn(Schedulers.immediate(), Integer.MAX_VALUE))
          .prefetch(Integer.MAX_VALUE)
  );
}

代码示例来源:origin: reactor/reactor-core

@Test
public void scanOperator() {
  final Flux<Integer> test = Flux.just(1).subscribeOn(Schedulers.immediate());
  assertThat(test).isInstanceOf(Scannable.class)
          .isInstanceOf(FluxSubscribeOnValue.class);
  assertThat(((Scannable) test).scan(Scannable.Attr.RUN_ON)).isSameAs(Schedulers.immediate());
}

代码示例来源:origin: resilience4j/resilience4j

@Test
  public void shouldEmitBulkheadFullExceptionEvenWhenErrorNotOnSubscribe() {
    bulkhead.isCallPermitted();

    StepVerifier.create(
        Mono.error(new IOException("BAM!")).delayElement(Duration.ofMillis(1))
            .transform(BulkheadOperator.of(bulkhead, Schedulers.immediate())))
        .expectSubscription()
        .expectError(BulkheadFullException.class)
        .verify(Duration.ofSeconds(1));

    assertThat(bulkhead.getMetrics().getAvailableConcurrentCalls()).isEqualTo(0);
  }
}

代码示例来源:origin: resilience4j/resilience4j

@Test
  public void shouldEmitBulkheadFullExceptionEvenWhenErrorNotOnSubscribe() {
    bulkhead.isCallPermitted();

    StepVerifier.create(
        Flux.error(new IOException("BAM!"), true)
            .transform(BulkheadOperator.of(bulkhead, Schedulers.immediate())))
        .expectSubscription()
        .expectError(BulkheadFullException.class)
        .verify(Duration.ofSeconds(1));

    assertThat(bulkhead.getMetrics().getAvailableConcurrentCalls()).isEqualTo(0);
  }
}

代码示例来源:origin: resilience4j/resilience4j

@Test
public void shouldEmitBulkheadFullExceptionEvenWhenErrorDuringSubscribe() {
  bulkhead.isCallPermitted();
  StepVerifier.create(
      Mono.error(new IOException("BAM!"))
          .transform(BulkheadOperator.of(bulkhead, Schedulers.immediate())))
      .expectSubscription()
      .expectError(BulkheadFullException.class)
      .verify(Duration.ofSeconds(1));
  assertThat(bulkhead.getMetrics().getAvailableConcurrentCalls()).isEqualTo(0);
}

代码示例来源:origin: resilience4j/resilience4j

@Test
public void shouldEmitErrorWithCircuitBreakerOpenExceptionEvenWhenErrorDuringSubscribe() {
  circuitBreaker.transitionToOpenState();
  StepVerifier.create(
      Flux.error(new IOException("BAM!"))
          .transform(CircuitBreakerOperator.of(circuitBreaker))
          .transform(BulkheadOperator.of(bulkhead, Schedulers.immediate()))
          .transform(RateLimiterOperator.of(rateLimiter, Schedulers.immediate()))
  ).expectError(CircuitBreakerOpenException.class)
      .verify(Duration.ofSeconds(1));
}

代码示例来源:origin: resilience4j/resilience4j

@Test
  public void shouldEmitErrorWithCircuitBreakerOpenExceptionEvenWhenErrorNotOnSubscribe() {
    circuitBreaker.transitionToOpenState();
    StepVerifier.create(
        Flux.error(new IOException("BAM!"), true)
            .transform(CircuitBreakerOperator.of(circuitBreaker))
            .transform(BulkheadOperator.of(bulkhead, Schedulers.immediate()))
            .transform(RateLimiterOperator.of(rateLimiter, Schedulers.immediate()))
    ).expectError(CircuitBreakerOpenException.class)
        .verify(Duration.ofSeconds(1));
  }
}

代码示例来源:origin: resilience4j/resilience4j

@Test
public void shouldEmitBulkheadFullExceptionEvenWhenErrorDuringSubscribe() {
  bulkhead.isCallPermitted();
  StepVerifier.create(
      Flux.error(new IOException("BAM!"))
          .transform(BulkheadOperator.of(bulkhead, Schedulers.immediate())))
      .expectSubscription()
      .expectError(BulkheadFullException.class)
      .verify(Duration.ofSeconds(1));
  assertThat(bulkhead.getMetrics().getAvailableConcurrentCalls()).isEqualTo(0);
}

代码示例来源:origin: resilience4j/resilience4j

@Test
  public void shouldEmitRequestNotPermittedExceptionEvenWhenErrorNotOnSubscribe() {
    saturateRateLimiter();
    StepVerifier.create(
        Mono.error(new IOException("BAM!")).delayElement(Duration.ofMillis(1))
            .transform(RateLimiterOperator.of(rateLimiter, Schedulers.immediate())))
        .expectError(RequestNotPermitted.class)
        .verify(Duration.ofSeconds(1));

    assertNoPermitLeft();
  }
}

代码示例来源:origin: resilience4j/resilience4j

@Test
public void shouldEmitRequestNotPermittedExceptionEvenWhenErrorDuringSubscribe() {
  saturateRateLimiter();
  StepVerifier.create(
      Mono.error(new IOException("BAM!"))
          .transform(RateLimiterOperator.of(rateLimiter, Schedulers.immediate())))
      .expectError(RequestNotPermitted.class)
      .verify(Duration.ofSeconds(1));
  assertNoPermitLeft();
}

代码示例来源:origin: resilience4j/resilience4j

@Test
public void shouldEmitRequestNotPermittedException() {
  saturateRateLimiter();
  StepVerifier.create(
      Flux.just("Event")
          .transform(RateLimiterOperator.of(rateLimiter, Schedulers.immediate())))
      .expectSubscription()
      .expectError(RequestNotPermitted.class)
      .verify(Duration.ofSeconds(1));
  assertNoPermitLeft();
}

相关文章