dapr / dapr/java-sdk

Use generic and the serializer interface to return the actual object for workflow activity

Offen
#905 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
P1
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.