ClaimDecisionWorkflowOrchestrator.java
Browserlesbare Ansicht der unveränderten Java-Quelldatei. Die Originaldatei bleibt im Maven-Projekt erhalten.
Zuordnung
Workflow Orchestrator
Quellcode
package com.seb4u.demo.claims.workflow;
/**
* Entwurfsmuster: Workflow Orchestrator + Outbox Pattern. Koordiniert Use Case und nachgelagerte Ereignisablage.
*/
import com.seb4u.demo.claims.application.command.ProcessClaimDecisionCommand;
import com.seb4u.demo.claims.application.handler.ProcessClaimDecisionHandler;
import com.seb4u.demo.claims.application.port.OutboxPort;
public class ClaimDecisionWorkflowOrchestrator {
private final ProcessClaimDecisionHandler handler;
private final OutboxPort outboxPort;
public ClaimDecisionWorkflowOrchestrator(ProcessClaimDecisionHandler handler, OutboxPort outboxPort) {
this.handler = handler;
this.outboxPort = outboxPort;
}
public void decide(ProcessClaimDecisionCommand command) {
var result = handler.handle(command);
outboxPort.append(command.claimId().value(), "ClaimDecisionProcessed", "{"status":"" + result.newStatus() + ""}");
}
}