1- [ ![ Sourcegraph] ( https://img.shields.io/badge/search-this%20repo-blue )] ( https://sourcegraph.com/github.com/pbernet/akka_streams_tutorial " Sourcegraph ")
2- [ ![ NotebookLM] ( https://img.shields.io/badge/listen%20to-this%20repo-blue )] ( https://notebooklm.google.com/notebook/15ab2fde-4d85-40ed-a7cf-a6fc83223680/audio " NotebookLM ")
31[ ![ GolpoAI] ( https://img.shields.io/badge/watch-intro-blue )] ( https://video.golpoai.com/share/53934a0a-8971-43b6-93cc-217f6663bf28 " GolpoAI ")
2+ [ ![ NotebookLM] ( https://img.shields.io/badge/listen%20to-this%20repo-blue )] ( https://notebooklm.google.com/notebook/15ab2fde-4d85-40ed-a7cf-a6fc83223680/audio " NotebookLM ")
3+ [ ![ Sourcegraph] ( https://img.shields.io/badge/search-this%20repo-blue )] ( https://sourcegraph.com/github.com/pbernet/akka_streams_tutorial " Sourcegraph ")
44[ ![ Build Status] ( https://github.com/pbernet/akka_streams_tutorial/actions/workflows/ci.yml/badge.svg )] ( https://github.com/pbernet/akka_streams_tutorial/actions/workflows/ci.yml )
55[ ![ Scala Steward] ( https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII= )] ( https://scala-steward.org )
66
@@ -26,13 +26,16 @@ and [Pekko HTTP](https://pekko.apache.org/docs/pekko-http/current/) tutorials, b
2626
2727"It's working!" a colleague used to shout across the office when yet another proof of concept was running its first few
2828hundred meters along the happy path, aware that the real work started right there. This repo aims to provide you with
29- exactly this feeling by offering a collection of runnable examples.
29+ exactly this feeling by offering a collection of runnable examples in Scala and Java .
3030
3131## Getting Started
3232
3333### Prerequisites
3434
35- Java 17 or higher (recommended: [ GraalVM] ( https://www.graalvm.org/downloads ) )
35+ [ Install Java 17 or higher] ( https://adoptium.net/temurin/releases ) (
36+ recommended: [ GraalVM] ( https://www.graalvm.org/downloads ) )
37+
38+ Install [ sbt] ( https://www.scala-sbt.org/download ) and [ Docker] ( https://www.docker.com/get-started/ )
3639
3740### Installation
3841
@@ -49,7 +52,7 @@ behaviour.
4952
5053## Examples Overview
5154
52- Some larger examples:
55+ Featured examples with complex workflows :
5356* [ Element deduplication] ( #element-deduplication )
5457* [ Windturbine example] ( #windturbine-example )
5558* [ Apache Kafka WordCount] ( #apache-kafka-wordcount )
@@ -66,10 +69,10 @@ operators in action.
6669The ` *Echo ` example series implement round trips eg [ HttpFileEcho] ( src/main/scala/akkahttp/HttpFileEcho.scala )
6770 and [ WebsocketEcho] ( src/main/scala/akkahttp/WebsocketEcho.scala )
6871
69- Using [ testcontainers] ( https://www.testcontainers.org ) allows running realistic scenarios with just one click:
72+ Using [ testcontainers] ( https://www.testcontainers.org ) allows running realistic integration test scenarios with just one
73+ click:
7074
7175* [ OIDCKeycloak] ( src/main/scala/akkahttp/oidc/OIDCKeycloak.scala )
72- * [ SSEtoElasticsearch] ( src/main/scala/alpakka/sse_to_elasticsearch/SSEtoElasticsearch.scala )
7376* [ ClickhousedbIT] ( src/test/scala/alpakka/clickhousedb/ClickhousedbIT.java )
7477* [ InfluxdbIT] ( src/test/scala/alpakka/influxdb/InfluxdbIT.java )
7578* [ SlickIT] ( src/test/scala/alpakka/slick/SlickIT.java )
@@ -139,10 +142,10 @@ Colin Breck explains these concepts and more in the 2017 Reactive Summit talk [
139142Islands in the Stream: Integrating Akka Streams and Akka Actors
140143] ( https://www.youtube.com/watch?v=qaiwalDyayA&list=PLKKQHTLcxDVayICsjpaPeno6aAPMCCZIz&index=4 )
141144
142- | Class | Description |
143- | ------------------- | -----------------|
144- | [ SimulateWindTurbines] ( src/main/scala/sample/stream_actor/SimulateWindTurbines.scala ) | Starts n clients which feed measurements to the server|
145- | [ WindTurbineServer] ( src/main/scala/sample/stream_actor/WindTurbineServer.scala ) | Start server which a accumulates measurements|
145+ | Class | Description |
146+ | --------------------------------------------------------------------------------------- | --------------------------------------- -----------------|
147+ | [ SimulateWindTurbines] ( src/main/scala/sample/stream_actor/SimulateWindTurbines.scala ) | Starts n clients which feed measurements to the server |
148+ | [ WindTurbineServer] ( src/main/scala/sample/stream_actor/WindTurbineServer.scala ) | Start server which collects measurements |
146149
147150 The clients communicate via websockets with the ` WindTurbineServer ` . After a restart of ` SimulateWindTurbines ` the clients are able to resume.
148151 Shutting down the ` WindTurbineServer ` results in reporting to the clients that the server is not reachable.
0 commit comments