Class SubscriptionCommandSender

java.lang.Object
io.camunda.zeebe.engine.processing.message.command.SubscriptionCommandSender

public class SubscriptionCommandSender extends Object
Send commands via the subscription endpoint. The commands are send as single messages (instead of request-response). To ensure that a command is received, each command has an ACK command which is send by the receiver.
+---------------------------------------------------------------------------------------------------------------------------------------+
|                                                       Message Partition                                                               |
|                                                                                                                                       |
+-----------^----------------+---------------------------+----------------------^-------------------------^------------------+----------+
            |                |                           |                      |                         |                  |
    +-------+------+  +------+--------+       +----------+---------+  +---------+---------+       +-------+-------+  +-------+--------+
    | Open Message |  | Open Process |       | Correlate Process |  | Correlate Message |       | Close Message |  | Close Process |
    | Subscription |  | Instance Sub  |       | Instance Sub       |  | Subscription      |       | Subscription  |  | Instance Sub   |
    +-------+------+  +------+--------+       +----------+---------+  +---------+---------+       +-------+-------+  +-------+--------+
            |                |                           |                      |                         |                  |
 +----------+----------------v---------------------------v----------------------+-------------------------+------------------v----------+
 |                                                                                                                                      |
 |                                                   Process Instance Partition                                                        |
 +--------------------------------------------------------------------------------------------------------------------------------------+
 
  • Constructor Summary

    Constructors
    Constructor
    Description
    SubscriptionCommandSender(int senderPartition, InterPartitionCommandSender interPartitionCommandSender)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    closeMessageSubscription(int subscriptionPartitionId, long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer messageName)
     
    boolean
    closeProcessMessageSubscription(long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer messageName)
     
    boolean
    correlateMessageSubscription(int subscriptionPartitionId, long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer bpmnProcessId, org.agrona.DirectBuffer messageName)
     
    boolean
    correlateProcessMessageSubscription(long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer bpmnProcessId, org.agrona.DirectBuffer messageName, long messageKey, org.agrona.DirectBuffer variables, org.agrona.DirectBuffer correlationKey)
     
    boolean
    openMessageSubscription(int subscriptionPartitionId, long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer bpmnProcessId, org.agrona.DirectBuffer messageName, org.agrona.DirectBuffer correlationKey, boolean closeOnCorrelate)
     
    boolean
    openProcessMessageSubscription(long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer messageName, boolean closeOnCorrelate)
     
    boolean
    rejectCorrelateMessageSubscription(long processInstanceKey, org.agrona.DirectBuffer bpmnProcessId, long messageKey, org.agrona.DirectBuffer messageName, org.agrona.DirectBuffer correlationKey)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SubscriptionCommandSender

      public SubscriptionCommandSender(int senderPartition, InterPartitionCommandSender interPartitionCommandSender)
  • Method Details

    • openMessageSubscription

      public boolean openMessageSubscription(int subscriptionPartitionId, long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer bpmnProcessId, org.agrona.DirectBuffer messageName, org.agrona.DirectBuffer correlationKey, boolean closeOnCorrelate)
    • openProcessMessageSubscription

      public boolean openProcessMessageSubscription(long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer messageName, boolean closeOnCorrelate)
    • correlateProcessMessageSubscription

      public boolean correlateProcessMessageSubscription(long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer bpmnProcessId, org.agrona.DirectBuffer messageName, long messageKey, org.agrona.DirectBuffer variables, org.agrona.DirectBuffer correlationKey)
    • correlateMessageSubscription

      public boolean correlateMessageSubscription(int subscriptionPartitionId, long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer bpmnProcessId, org.agrona.DirectBuffer messageName)
    • closeMessageSubscription

      public boolean closeMessageSubscription(int subscriptionPartitionId, long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer messageName)
    • closeProcessMessageSubscription

      public boolean closeProcessMessageSubscription(long processInstanceKey, long elementInstanceKey, org.agrona.DirectBuffer messageName)
    • rejectCorrelateMessageSubscription

      public boolean rejectCorrelateMessageSubscription(long processInstanceKey, org.agrona.DirectBuffer bpmnProcessId, long messageKey, org.agrona.DirectBuffer messageName, org.agrona.DirectBuffer correlationKey)