Package akka.stream

Class Materializer

  • Direct Known Subclasses:
    ActorMaterializer, NoMaterializer$, SubFusingActorMaterializerImpl

    public abstract class Materializer
    extends java.lang.Object
    Materializer SPI (Service Provider Interface)

    Binary compatibility is NOT guaranteed on materializer internals.

    Custom materializer implementations should be aware that the materializer SPI is not yet final and may change in patch releases of Akka. Please note that this does not impact end-users of Akka streams, only implementors of custom materializers, with whom the Akka team co-ordinates such changes.

    Once the SPI is final this notice will be removed.

    • Constructor Summary

      Constructors 
      Constructor Description
      Materializer()  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      abstract scala.concurrent.ExecutionContextExecutor executionContext()
      Running a flow graph will require execution resources, as will computations within Sources, Sinks, etc.
      abstract <Mat> Mat materialize​(Graph<ClosedShape,​Mat> runnable)
      This method interprets the given Flow description and creates the running stream.
      abstract <Mat> Mat materialize​(Graph<ClosedShape,​Mat> runnable, Attributes defaultAttributes)
      This method interprets the given Flow description and creates the running stream using an explicitly provided Attributes as top level (least specific) attributes that will be defaults for the materialized stream.
      abstract Cancellable scheduleOnce​(scala.concurrent.duration.FiniteDuration delay, java.lang.Runnable task)
      Interface for operators that need timer services for their functionality.
      abstract Cancellable schedulePeriodically​(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration interval, java.lang.Runnable task)
      Interface for operators that need timer services for their functionality.
      abstract Materializer withNamePrefix​(java.lang.String name)
      The namePrefix shall be used for deriving the names of processing entities that are created during materialization.
      • Methods inherited from class java.lang.Object

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

      • Materializer

        public Materializer()
    • Method Detail

      • executionContext

        public abstract scala.concurrent.ExecutionContextExecutor executionContext()
        Running a flow graph will require execution resources, as will computations within Sources, Sinks, etc. This ExecutionContextExecutor can be used by parts of the flow to submit processing jobs for execution, run Future callbacks, etc.

        Note that this is not necessarily the same execution context the stream operator itself is running on.

        Returns:
        (undocumented)
      • materialize

        public abstract <Mat> Mat materialize​(Graph<ClosedShape,​Mat> runnable)
        This method interprets the given Flow description and creates the running stream. The result can be highly implementation specific, ranging from local actor chains to remote-deployed processing networks.
        Parameters:
        runnable - (undocumented)
        Returns:
        (undocumented)
      • materialize

        public abstract <Mat> Mat materialize​(Graph<ClosedShape,​Mat> runnable,
                                              Attributes defaultAttributes)
        This method interprets the given Flow description and creates the running stream using an explicitly provided Attributes as top level (least specific) attributes that will be defaults for the materialized stream. The result can be highly implementation specific, ranging from local actor chains to remote-deployed processing networks.
        Parameters:
        runnable - (undocumented)
        defaultAttributes - (undocumented)
        Returns:
        (undocumented)
      • scheduleOnce

        public abstract Cancellable scheduleOnce​(scala.concurrent.duration.FiniteDuration delay,
                                                 java.lang.Runnable task)
        Interface for operators that need timer services for their functionality. Schedules a single task with the given delay.

        Parameters:
        delay - (undocumented)
        task - (undocumented)
        Returns:
        A Cancellable that allows cancelling the timer. Cancelling is best effort, if the event has been already enqueued it will not have an effect.
      • schedulePeriodically

        public abstract Cancellable schedulePeriodically​(scala.concurrent.duration.FiniteDuration initialDelay,
                                                         scala.concurrent.duration.FiniteDuration interval,
                                                         java.lang.Runnable task)
        Interface for operators that need timer services for their functionality. Schedules a repeated task with the given interval between invocations.

        Parameters:
        initialDelay - (undocumented)
        interval - (undocumented)
        task - (undocumented)
        Returns:
        A Cancellable that allows cancelling the timer. Cancelling is best effort, if the event has been already enqueued it will not have an effect.
      • withNamePrefix

        public abstract Materializer withNamePrefix​(java.lang.String name)
        The namePrefix shall be used for deriving the names of processing entities that are created during materialization. This is meant to aid logging and failure reporting both during materialization and while the stream is running.
        Parameters:
        name - (undocumented)
        Returns:
        (undocumented)