LedgerEntry

class LedgerEntry @InternalWowApi constructor(val service: String, val context: String, val subscription: String, val aggregate: LedgerAggregate, val fromVersion: Int, val fromPosition: Long? = null, val reason: String, val failedAt: Long, val retries: Int = 0, val retryAt: Long? = null, val retrySpec: LedgerRetrySpec, val recoverable: String = UNKNOWN, val request: String? = null, val status: String, val nextRetryAt: Long? = null, val recordedAt: Long)

subscription of service parks aggregate, as its ledger holds it now (FailureLedger's entry with the retry spec it is retried by); the entry's command topic is context's, the context of the subscription.

  • fromVersion and fromPosition: where the aggregate is parked; reason and failedAt (epoch milliseconds): why and when it last failed, which also tells one parking of the aggregate from the next.

  • retries made so far, the last started at retryAt; retrySpec, the spec it is retried by; nextRetryAt the next automatic retry, null when there is none.

  • recoverable: unknown, recoverable or unrecoverable, what an operator marked it; request: retry or skip while an operator's request waits for the owner of its partition, else null.

  • status: scheduled (retried automatically), exhausted (its retries spent) or unrecoverable.

Each is the wire name (me.ahoo.wow.api.wire.WireNames) of the ledger's value, which the ledger stores as it always has.

  • recordedAt: when the service published it (epoch milliseconds).

Fields may be added: the runtime's ledger publisher builds it, and a reader reads it from its JSON; the constructor is internal to Wow.

Constructors

Link copied to clipboard
constructor(service: String, context: String, subscription: String, aggregate: LedgerAggregate, fromVersion: Int, fromPosition: Long? = null, reason: String, failedAt: Long, retries: Int = 0, retryAt: Long? = null, retrySpec: LedgerRetrySpec, recoverable: String = UNKNOWN, request: String? = null, status: String, nextRetryAt: Long? = null, recordedAt: Long)

Types

Link copied to clipboard

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun copyWith(service: String = this.service, context: String = this.context, subscription: String = this.subscription, aggregate: LedgerAggregate = this.aggregate, fromVersion: Int = this.fromVersion, fromPosition: Long? = this.fromPosition, reason: String = this.reason, failedAt: Long = this.failedAt, retries: Int = this.retries, retryAt: Long? = this.retryAt, retrySpec: LedgerRetrySpec = this.retrySpec, recoverable: String = this.recoverable, request: String? = this.request, status: String = this.status, nextRetryAt: Long? = this.nextRetryAt, recordedAt: Long = this.recordedAt): LedgerEntry

This LedgerEntry with the given fields replaced: Wow's own copy, left out of the ABI.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String