object KafkaConnectors
High-Level Kafka Interface: Responsible for correctly wrapping StatelessComponents into RunnableGraphs to execute off of a Kafka cluster. Makes use of a KafkaExecutorSettings instance for the correct construction of Kafka Producers and Consumers.
To fulfill the Executor interface, the following connectors must run on a kafka cluster:
- EITHER: At least one indyReducer
& indySequencer
OR: At least on seqReducer
- At least one indyAtomicExecutor
- OPTIONAL: Either a specificResultListener
or uniqueResultListener
if the results
of each PiInstance execution need responding to.
- Alphabetic
- By Inheritance
- KafkaConnectors
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type DrainControl = DrainingControl[Done]
- type Environment = KafkaExecutorEnvironment
- type Settings = KafkaExecutorSettings
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def drainAndShutdown(controls: DrainControl*)(implicit env: Environment): Future[Done]
- def drainAndShutdownAll(controls: Seq[DrainControl])(implicit env: Environment): Future[Done]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
indyAtomicExecutor(exec: AtomicExecutor, threadsPerPart: Int = 1)(implicit env: Environment): DrainControl
Run a AtomicExecutor off of the Assignment topic.
Run a AtomicExecutor off of the Assignment topic.
- exec
AtomicExecutor component responsible for evaluating assignments and responding with SequenceRequests.
- threadsPerPart
Parallelism of each Consumer topic partition.
- returns
Control object for the running process.
-
def
indyReducer(red: Reducer)(implicit env: Environment): DrainControl
Run an independent reducer off of a ReduceRequest topic.
Run an independent reducer off of a ReduceRequest topic. This allows a reducer to create responses to each ReduceRequest individually by using the ReduceRequest topic offset to track each messages consumption.
- red
Reducer module responsible for generating responses for ReduceRequests.
- returns
Control object for the running process.
-
def
indySequencer(implicit env: Environment): DrainControl
Run an independent sequencer off of a PiiHistory topic, outputting sequenced ReduceRequests into a separate ReduceRequest topic.
Run an independent sequencer off of a PiiHistory topic, outputting sequenced ReduceRequests into a separate ReduceRequest topic.
- returns
Control object for the running process.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
sendMessages(msgs: AnyMsg*)(implicit env: Environment): Future[Done]
Creates a temporary Kafka Producer capable of sending a single message.
Creates a temporary Kafka Producer capable of sending a single message.
- msgs
Messages to send.
- def shutdown(controls: Control*)(implicit env: Environment): Future[Done]
- def shutdownAll(controls: Seq[Control])(implicit env: Environment): Future[Done]
-
def
specificResultListener(groupId: String)(resl: ResultListener)(implicit env: Environment): DrainControl
Restart a terminated ResultListener group, join an existing group, or start a ResultListener with a specific group id.
Restart a terminated ResultListener group, join an existing group, or start a ResultListener with a specific group id. Useful as PiiResult messages might need to be visible to multiple ResultListeners.
- returns
Control object for the running process.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
uniqueResultListener(resl: ResultListener)(implicit env: Environment): DrainControl
Override
source
to give handler a uniqueGroupId so it each KafkaEventHandler component can listen to all events on the cluster.Override
source
to give handler a uniqueGroupId so it each KafkaEventHandler component can listen to all events on the cluster. The ResultListener is responsible for ignoring the irrelevant messages appropriately.- returns
Control object for the running process.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()