trait R2dbcHandler[Envelope] extends HandlerLifecycle
Implement this interface for the Envelope handler for R2DBC Projections.
It can be stateful, with variables and mutable data structures. It is invoked by the Projection machinery one
envelope at a time and visibility guarantees between the invocations are handled automatically, i.e. no volatile or
other concurrency primitives are needed for managing the state.
Supported error handling strategies for when processing an Envelope fails can be defined in configuration or using
the withRecoveryStrategy method of a Projection implementation.
- Annotations
- @ApiMayChange()
- Alphabetic
- By Inheritance
- R2dbcHandler
- HandlerLifecycle
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def process(session: R2dbcSession, envelope: Envelope): Future[Done]
The
processmethod is invoked for eachEnvelope.The
processmethod is invoked for eachEnvelope. Each time a newConnectionis passed with a new open transaction. You can usecreateStatement,updateand other methods provided by the R2dbcSession. The results of several statements can be combined withFuturecomposition (e.g.flatMap). The transaction will be automatically committed or rolled back when the returnedFuture[Done]is completed.One envelope is processed at a time. It will not be invoked with the next envelope until after this method returns and the returned
Future[Done]is completed.
Concrete 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(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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 start(): Future[Done]
- Definition Classes
- HandlerLifecycle
- def stop(): Future[Done]
- Definition Classes
- HandlerLifecycle
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()