{"id":15651029,"url":"https://github.com/mechero/java-9-flow-reactive","last_synced_at":"2025-06-14T08:10:09.232Z","repository":{"id":90103153,"uuid":"119338018","full_name":"mechero/java-9-flow-reactive","owner":"mechero","description":"A sample application using Java 9's Flow API and SubmissionPublisher","archived":false,"fork":false,"pushed_at":"2018-03-01T05:39:21.000Z","size":53,"stargazers_count":35,"open_issues_count":0,"forks_count":15,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T18:33:05.087Z","etag":null,"topics":["flow","java","java9","reactive-programming"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mechero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-29T05:51:07.000Z","updated_at":"2025-01-21T23:08:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"90db6a2d-ea83-4b7b-b186-03de77fc06d9","html_url":"https://github.com/mechero/java-9-flow-reactive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mechero/java-9-flow-reactive","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechero%2Fjava-9-flow-reactive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechero%2Fjava-9-flow-reactive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechero%2Fjava-9-flow-reactive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechero%2Fjava-9-flow-reactive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mechero","download_url":"https://codeload.github.com/mechero/java-9-flow-reactive/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechero%2Fjava-9-flow-reactive/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259783068,"owners_count":22910301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flow","java","java9","reactive-programming"],"created_at":"2024-10-03T12:36:40.654Z","updated_at":"2025-06-14T08:10:09.212Z","avatar_url":"https://github.com/mechero.png","language":"Java","funding_links":["https://www.buymeacoffee.com/ZyLJNUR"],"categories":[],"sub_categories":[],"readme":"# Java 9 Flow Example - TPD.io\n\n![The Reactive Magazine Publisher ](img/thereactivepublisher.png)\n\n## Description\n\nThis is a simple project that shows how to use Java 9's Flow API to create a Reactive Programming example. It's based on a story: a Magazine Publisher with two different Subscribers, one of them being too slow to pick items. \n\nThe guide [Reactive Programming with Java 9 Flow](https://thepracticaldeveloper.com/2018/01/31/reactive-programming-java-9-flow/) explains this code and the fictional use case with detail.\n\n## Code Structure\n\n* `ReactiveFlowApp` creates a Publisher using Java 9's `SubmissionPublisher`. It implements backpressure and dropping of items by setting a timeout for subscribers.\n* `MagazineSubscriber` implements `Flow.Subscriber` and let you experiment what happens when subscribers are slow.\n* `ColorConsoleAppender` has nothing to do with Java 9 or reactive programming, is just a utility class to set colors to log messages so the result can be understood easier.\n\n## Feedback and Contribution\n\nIf you find something wrong, feel free to create an issue. Same if you have questions. If you want to help me creating more code examples you can [buy me a coffee](https://www.buymeacoffee.com/ZyLJNUR).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmechero%2Fjava-9-flow-reactive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmechero%2Fjava-9-flow-reactive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmechero%2Fjava-9-flow-reactive/lists"}