Class DbMessageSubscriptionState
java.lang.Object
io.camunda.zeebe.engine.state.message.DbMessageSubscriptionState
- All Implemented Interfaces:
MessageSubscriptionState,PendingMessageSubscriptionState,MutableMessageSubscriptionState,StreamProcessorLifecycleAware
public final class DbMessageSubscriptionState
extends Object
implements MutableMessageSubscriptionState, PendingMessageSubscriptionState, StreamProcessorLifecycleAware
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.camunda.zeebe.engine.state.immutable.MessageSubscriptionState
MessageSubscriptionState.MessageSubscriptionVisitor -
Constructor Summary
ConstructorsConstructorDescriptionDbMessageSubscriptionState(ZeebeDb<ZbColumnFamilies> zeebeDb, TransactionContext transactionContext, TransientPendingSubscriptionState transientState) -
Method Summary
Modifier and TypeMethodDescriptionbooleanexistSubscriptionForElementInstance(long elementInstanceKey, org.agrona.DirectBuffer messageName) get(long elementInstanceKey, org.agrona.DirectBuffer messageName) voidvoidShould be called when a pending subscription is sent out.voidput(long key, MessageSubscriptionRecord record) booleanremove(long elementInstanceKey, org.agrona.DirectBuffer messageName) voidremove(MessageSubscription subscription) voidupdateToCorrelatedState(MessageSubscription subscription) voidvoidvisitPending(long deadline, MessageSubscriptionState.MessageSubscriptionVisitor visitor) Visits all pending message subscriptions where a command hasn't been sent out since a given deadline.voidvisitSubscriptions(String tenantId, org.agrona.DirectBuffer messageName, org.agrona.DirectBuffer correlationKey, MessageSubscriptionState.MessageSubscriptionVisitor visitor) Visits the message subscriptions that match a given tenant, message name, and correlation key.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.camunda.zeebe.engine.state.immutable.PendingMessageSubscriptionState
onSentMethods inherited from interface io.camunda.zeebe.stream.api.StreamProcessorLifecycleAware
onClose, onFailed, onPaused, onResumed
-
Constructor Details
-
DbMessageSubscriptionState
public DbMessageSubscriptionState(ZeebeDb<ZbColumnFamilies> zeebeDb, TransactionContext transactionContext, TransientPendingSubscriptionState transientState)
-
-
Method Details
-
onRecovered
- Specified by:
onRecoveredin interfaceStreamProcessorLifecycleAware
-
get
- Specified by:
getin interfaceMessageSubscriptionState
-
visitSubscriptions
public void visitSubscriptions(String tenantId, org.agrona.DirectBuffer messageName, org.agrona.DirectBuffer correlationKey, MessageSubscriptionState.MessageSubscriptionVisitor visitor) Description copied from interface:MessageSubscriptionStateVisits the message subscriptions that match a given tenant, message name, and correlation key.- Specified by:
visitSubscriptionsin interfaceMessageSubscriptionState
-
existSubscriptionForElementInstance
public boolean existSubscriptionForElementInstance(long elementInstanceKey, org.agrona.DirectBuffer messageName) - Specified by:
existSubscriptionForElementInstancein interfaceMessageSubscriptionState
-
put
- Specified by:
putin interfaceMutableMessageSubscriptionState
-
updateToCorrelatingState
- Specified by:
updateToCorrelatingStatein interfaceMutableMessageSubscriptionState
-
remove
public boolean remove(long elementInstanceKey, org.agrona.DirectBuffer messageName) - Specified by:
removein interfaceMutableMessageSubscriptionState
-
remove
- Specified by:
removein interfaceMutableMessageSubscriptionState
-
visitPending
public void visitPending(long deadline, MessageSubscriptionState.MessageSubscriptionVisitor visitor) Description copied from interface:PendingMessageSubscriptionStateVisits all pending message subscriptions where a command hasn't been sent out since a given deadline. The visitor is called for each subscription, from the oldest to the newest.- Specified by:
visitPendingin interfacePendingMessageSubscriptionState
-
onSent
Description copied from interface:PendingMessageSubscriptionStateShould be called when a pending subscription is sent out. This is used to keep track of the last time a command was sent out for a subscription. Freshly sent-out subscriptions are not visited byPendingMessageSubscriptionState.visitPending(long, MessageSubscriptionVisitor).- Specified by:
onSentin interfacePendingMessageSubscriptionState
-