support annotation-based approach
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- java
Línea de trabajo
Comienza revisando el uso actual de ctx.run() y el ejemplo de @Workflow en el issue; después, compara cómo afectaría a otros métodos de contexto trasladar la responsabilidad a un método llamado. Define la semántica de la anotación, los límites de métodos admitidos y las expectativas de compatibilidad antes de la implementación; el trabajo estará terminado cuando el enfoque esté especificado y su viabilidad esté resuelta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I don't like passing all the app logic as lambdas because it makes the codebase messy. It would be great if Restate used an annotation-based approach instead (or something else), which would mean moving the responsibility from the caller method to the called method
What if we created a @Run annotation instead of calling ctx.run()? For example:
@Workflow
public boolean run(WorkflowContext ctx, Email email) {
String secret = ctx.random().nextUUID().toString();
ctx.set(STATUS, "Generated secret");
// ctx.run("send email", () -> sendEmailWithLink(email, secret));
sendEmailWithLink(email, secret);
ctx.set(STATUS, "Sent email");
String clickSecret =
ctx.promise(EMAIL_CLICKED)
.future()
.await();
ctx.set(STATUS, "Clicked email");
return clickSecret.equals(secret);
}
@Run("send email")
public void sendEmailWithLink(Email email, String secret) {
// ......
}
That's not only for ctx.run(), it can be applied to a lot of methods.
- Lenguaje dominante
- Java
- Estrellas
- 60
- Forks
- 17
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de restatedev/sdk-java
-
Vert.x 5 update Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
restatedev/sdk-java#629 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
restatedev/sdk-java#614 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
restatedev/sdk-java#603 ·
-
Reflection based experience Abierto
restatedev/sdk-java#570 · 1 asignado ·
-
Java jackson 3 version upgrade Abiertodependencies
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
restatedev/sdk-java#569 · 2 comentarios · 1 reacción ·
Todos los issues de restatedev/sdk-java
Issues similares
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abiertoarea/plugin
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Add canonical URLs and a sitemap Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apache/rocketmq-dashboard#5064 ·