Use generic and the serializer interface to return the actual object for workflow activity
- Vorherrschende Sprache
- Java
- Sterne
- 300
- Forks
- 230
- Ø Merge
- 5 T. 1 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
This issue is to follow the discussion in PR https://github.com/dapr/java-sdk/pull/880
====================
artursouza:
Use generic and the serializer interface to return the actual object. See how it is done for DaprClient
skyao:
this run() method defined in WorkflowActivity doesn't have a input parameter, we need to call ctx.getInput() to get the input, like this:
public Object run(WorkflowActivityContext ctx) {
OrderPayload order = ctx.getInput(OrderPayload.class);
logger.info("Requesting approval for order: {}", order);
return ApprovalResult.Approved;
}
I suggest to move this input parameter from ctx to run() method:
public interface WorkflowActivity{
Output run(WorkflowActivityContext ctx, Input input);
}
artursouza: Exactly. Also, use TypeRef from the main SDK. See how we do it for Actors and state store.
Beitragsleitfaden
Rechercherichtung
Beginne mit der Diskussion in PR 880 und untersuche die bestehenden Muster in DaprClient, Actors und dem State-Store-Code für Serializer-Schnittstellen und TypeRef. Überprüfe WorkflowActivity und dessen kontextbasierte Eingabeverarbeitung und richte dann die Activity-Schnittstelle an den vorgeschlagenen generischen Eingabe- und Ausgabetypen aus. Erledigt ist die Aufgabe, wenn Workflow-Aktivitäten typisierte Eingaben empfangen und das tatsächlich typisierte Objekt zurückgeben können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100