35 lines
1.9 KiB
Java
35 lines
1.9 KiB
Java
package com.ankurm.sagademo;
|
|
|
|
/**
|
|
* Every topic this module uses, in one place, so the two coordination styles in the post --
|
|
* choreography and orchestration -- never accidentally share a topic. The "choreo." group
|
|
* carries plain domain events; the "orch." group splits into commands (the orchestrator telling
|
|
* a participant what to do) and replies (the participant reporting back), which is the concrete
|
|
* difference between the two styles: choreography has only events, orchestration has commands
|
|
* and replies to them.
|
|
*/
|
|
public final class Topics {
|
|
|
|
private Topics() {
|
|
}
|
|
|
|
// Choreography: each participant listens for the previous step's event and decides for
|
|
// itself what to publish next. No single place knows the whole saga.
|
|
public static final String CHOREO_ORDER_CREATED = "choreo.order.created";
|
|
public static final String CHOREO_PAYMENT_RESERVED = "choreo.payment.reserved";
|
|
public static final String CHOREO_INVENTORY_RESERVED = "choreo.inventory.reserved";
|
|
public static final String CHOREO_INVENTORY_REJECTED = "choreo.inventory.rejected";
|
|
public static final String CHOREO_PAYMENT_REFUNDED = "choreo.payment.refunded";
|
|
public static final String CHOREO_ORDER_CONFIRMED = "choreo.order.confirmed";
|
|
public static final String CHOREO_ORDER_CANCELLED = "choreo.order.cancelled";
|
|
|
|
// Orchestration: the orchestrator issues commands and participants reply; only the
|
|
// orchestrator decides what happens next.
|
|
public static final String ORCH_CMD_RESERVE_PAYMENT = "orch.cmd.reserve-payment";
|
|
public static final String ORCH_REPLY_PAYMENT = "orch.reply.payment";
|
|
public static final String ORCH_CMD_RESERVE_INVENTORY = "orch.cmd.reserve-inventory";
|
|
public static final String ORCH_REPLY_INVENTORY = "orch.reply.inventory";
|
|
public static final String ORCH_CMD_REFUND_PAYMENT = "orch.cmd.refund-payment";
|
|
public static final String ORCH_REPLY_REFUND = "orch.reply.refund";
|
|
}
|