Package

com.weightwatchers.reactive.kinesis

producer

Permalink

package producer

Visibility
  1. Public
  2. All

Type Members

  1. class KinesisProducer extends LazyLogging

    Permalink

    Sends messages to the configured Kinesis stream.

    Sends messages to the configured Kinesis stream.

    To create an instance of this class, we recommend using the apply method to instantiate from config.

  2. class KinesisProducerActor extends Actor with LazyLogging with UnboundedStash

    Permalink

    This Actor wraps the KinesisProducer to provide reliable handling and throttling of requests.

    This Actor wraps the KinesisProducer to provide reliable handling and throttling of requests.

    Upon completion of a com.weightwatchers.reactive.kinesis.producer.KinesisProducerActor.SendWithCallback, a com.weightwatchers.reactive.kinesis.producer.KinesisProducerActor.SendSuccessful or com.weightwatchers.reactive.kinesis.producer.KinesisProducerActor.SendFailed will be returned to the original sender, this allows asynchronous tracking of requests.

    Internally, for each request a new Future is created to track the completion. These concurrently created Futures can be throttled by specifying the maxOutstandingRequests.

    This causes subsequent requests to be queued up until the outstanding messages have been processed.

  3. final case class KinesisProducerConfig(additionalMetricDimensions: List[AdditionalDimension], credentialsProvider: Option[AWSCredentialsProvider], metricsCredentialsProvider: Option[AWSCredentialsProvider], aggregationEnabled: Boolean, aggregationMaxCount: Long, aggregationMaxSize: Long, cloudwatchEndpoint: Option[String], cloudwatchPort: Long, collectionMaxCount: Long, collectionMaxSize: Long, connectTimeout: Long, credentialsRefreshDelay: Long, enableCoreDumps: Boolean, failIfThrottled: Boolean, kinesisEndpoint: Option[String], kinesisPort: Long, logLevel: String, maxConnections: Long, metricsGranularity: String, metricsLevel: String, metricsNamespace: String, metricsUploadDelay: Long, minConnections: Long, nativeExecutable: Option[String], rateLimit: Long, recordMaxBufferedTime: Long, recordTtl: Long, region: Option[Regions], requestTimeout: Long, tempDirectory: Option[String], verifyCertificate: Boolean, threadingModel: ThreadingModel, threadPoolSize: Int) extends Product with Serializable

    Permalink

    Typed config class for the KPL

  4. final case class ProducerConf(streamName: String, kplLibConfiguration: KinesisProducerConfiguration, dispatcher: Option[String], throttlingConf: Option[ThrottlingConf]) extends Product with Serializable

    Permalink

    The collection of configuration values required for constructing a producer.

    The collection of configuration values required for constructing a producer. See the companion object.

    streamName

    The name of the Kinesis Stream this producer will publish to.

    kplLibConfiguration

    An instance of the underlying KinesisProducerConfiguration for the KPL library.

    dispatcher

    An optional dispatcher for the producer and kpl.

    throttlingConf

    Configuration which defines whether and how often to throttle.

Value Members

  1. object KinesisProducer extends LazyLogging

    Permalink
  2. object KinesisProducerActor

    Permalink
  3. object KinesisProducerConfig extends Serializable

    Permalink
  4. object ProducerConf extends Serializable

    Permalink

    Companion object for the ProducerConf.

Ungrouped