akka.stream.javadsl.Source.tick()方法的使用及代码示例

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

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

Source.tick介绍

暂无

代码示例

代码示例来源:origin: com.lightbend.lagom/lagom-javadsl-server

@Override
public ServiceCall<NotUsed, Source<List<CircuitBreakerStatus>, ?>> circuitBreakers() {
 return request -> {
  if (!provider.isPresent())
   throw new NotFound("No metrics");
  Source<List<CircuitBreakerStatus>, ?> source = 
   Source.tick(Duration.ofMillis(100), Duration.ofSeconds(2), "tick")
    .map(tick -> allCircuitBreakerStatus());
  return CompletableFuture.completedFuture(source);
 };
}

代码示例来源:origin: org.eclipse.ditto/ditto-services-utils-akka

/**
 * Create an Akka stream graph to terminate an actor after a period of inactivity.
 *
 * @param interval how often to check for activity.
 * @param self reference to the actor.
 * @param <A> type of messages that prevents actor termination.
 * @return an activity checker.
 */
public static <A> Graph<FlowShape<A, A>, NotUsed> of(final Duration interval, final ActorRef self) {
  return GraphDSL.create(builder -> {
    final SourceShape<Tick> ticker = builder.add(Source.tick(interval, interval, new Tick()));
    final FanInShape2<A, Tick, A> killer = builder.add(PipeWithIdleRoutine.of((tick, log) -> {
      log.debug("Terminating actor after <{}> of inactivity: <{}>", interval, self);
      self.tell(PoisonPill.getInstance(), ActorRef.noSender());
    }));
    builder.from(ticker).toInlet(killer.in1());
    return FlowShape.of(killer.in0(), killer.out());
  });
}

代码示例来源:origin: eclipse/ditto

/**
 * Create an Akka stream graph to terminate an actor after a period of inactivity.
 *
 * @param interval how often to check for activity.
 * @param self reference to the actor.
 * @param <A> type of messages that prevents actor termination.
 * @return an activity checker.
 */
public static <A> Graph<FlowShape<A, A>, NotUsed> of(final Duration interval, final ActorRef self) {
  return GraphDSL.create(builder -> {
    final SourceShape<Tick> ticker = builder.add(Source.tick(interval, interval, new Tick()));
    final FanInShape2<A, Tick, A> killer = builder.add(PipeWithIdleRoutine.of((tick, log) -> {
      log.debug("Terminating actor after <{}> of inactivity: <{}>", interval, self);
      self.tell(PoisonPill.getInstance(), ActorRef.noSender());
    }));
    builder.from(ticker).toInlet(killer.in1());
    return FlowShape.of(killer.in0(), killer.out());
  });
}

相关文章