Package akka.stream

Class SharedKillSwitch

  • All Implemented Interfaces:
    KillSwitch

    public final class SharedKillSwitch
    extends java.lang.Object
    implements KillSwitch
    After calling shutdown() all materialized, running instances of all Graphs provided by the SharedKillSwitch will complete their downstreams and cancel their upstreams (unless if finished or failed already in which case the command is ignored). Subsequent invocations of shutdown() and SharedKillSwitch#abort() will be ignored.
    • Constructor Summary

      Constructors 
      Constructor Description
      SharedKillSwitch​(java.lang.String name)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void abort​(java.lang.Throwable reason)
      After calling SharedKillSwitch#abort() all materialized, running instances of all Graphs provided by the SharedKillSwitch will fail their downstreams with the provided exception and cancel their upstreams (unless it finished or failed already in which case the command is ignored).
      <T> Graph<FlowShape<T,​T>,​SharedKillSwitch> flow()
      Returns a typed Flow of a requested type that will be linked to this SharedKillSwitch instance.
      java.lang.String name()  
      void shutdown()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SharedKillSwitch

        public SharedKillSwitch​(java.lang.String name)
    • Method Detail

      • abort

        public void abort​(java.lang.Throwable reason)
        After calling SharedKillSwitch#abort() all materialized, running instances of all Graphs provided by the SharedKillSwitch will fail their downstreams with the provided exception and cancel their upstreams (unless it finished or failed already in which case the command is ignored). Subsequent invocations of shutdown() and SharedKillSwitch#abort() will be ignored.

        These provided Graphs materialize to their owning switch. This might make certain integrations simpler than passing around the switch instance itself.

        Specified by:
        abort in interface KillSwitch
        Parameters:
        reason - The exception to be used for failing the linked Graphs
      • flow

        public <T> Graph<FlowShape<T,​T>,​SharedKillSwitch> flow()
        Returns a typed Flow of a requested type that will be linked to this SharedKillSwitch instance. By invoking shutdown() or SharedKillSwitch#abort() all running instances of all provided Graphs by this switch will be stopped normally or failed.

        Returns:
        A reusable Graph that is linked with the switch. The materialized value provided is this switch itself.
      • name

        public java.lang.String name()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object