2017-12-19 6 views
0

Ich denke daran, eine Kette von Akka-Mitarbeitern zu verwenden, um einen Workflow in einer DeferredResult-basierten Spring MVC-Webanwendung zu modellieren. Im Wesentlichen wird der Controller einen DeferredResult zurückgeben und die Akteure in der Kette werden arbeiten, um eine CompletableFuture zu füllen, die das DeferredResult füttert, wenn es abgeschlossen ist.Gegendruck in einem Spring DeferredResult + Akka Schauspieler Anwendung

Was ich nicht herausfinden kann, ist:
* Wird Akka zu viel Druck aufbauen, wird der Gegendruck erhöht.
* Wenn ja, wie kann ich erkennen, dass dies geschieht?

Antwort

0

Betrachten Alpakka's Spring Web connector verwenden, die in einem Spring Web Application Integration von Akka Streams ermöglicht. Akka Streams bietet Rückstau als Teil seiner Einhaltung der reactive streams Spezifikation, und der Konnektor ermöglicht die Exposition von Streams als HTTP-Endpunkte in einer Spring-Anwendung. Ein Beispiel aus der Alpakka-Dokumentation:

@RestController 
public class SampleController { 

    @RequestMapping("/") 
    public Source<String, NotUsed> index() { 
    return 
     Source.repeat("Hello world!") 
     .intersperse("\n") 
     .take(10); 
    } 
} 

In Ihrem Fall könnten Sie Ihren Workflow als Stream modellieren.

Das Akka-Team hat kürzlich eine blog post über diesen Anschluss veröffentlicht.

+0

Die Anforderungen wurden geändert und das Projekt wurde verschoben :) aber ich habe es für ein PoC ausprobiert und es schien zu funktionieren. Danke für den Zeiger. –

Verwandte Themen