{"id":20828789,"url":"https://github.com/perty/actormodel21","last_synced_at":"2026-06-23T16:32:34.324Z","repository":{"id":211558579,"uuid":"704939032","full_name":"perty/actorModel21","owner":"perty","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-01T07:12:20.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-30T23:49:08.399Z","etag":null,"topics":[],"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/perty.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}},"created_at":"2023-10-14T15:08:32.000Z","updated_at":"2023-12-09T09:03:53.000Z","dependencies_parsed_at":"2023-12-09T11:22:06.794Z","dependency_job_id":"1006eb3d-8003-4064-ba35-0dad5f5a891e","html_url":"https://github.com/perty/actorModel21","commit_stats":null,"previous_names":["perty/actormodel21"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/perty/actorModel21","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perty%2FactorModel21","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perty%2FactorModel21/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perty%2FactorModel21/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perty%2FactorModel21/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perty","download_url":"https://codeload.github.com/perty/actorModel21/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perty%2FactorModel21/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34698687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-17T23:18:27.628Z","updated_at":"2026-06-23T16:32:34.306Z","avatar_url":"https://github.com/perty.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Actor Model in Java\n\n## The Klang minimalist gist\n\nIn folder `src/main/java/se/artcomputer/edu/actor` there is a gist from \n[Viktor Klang](https://gist.github.com/viktorklang), a member of Akka project. I have removed some lint.\n\nIt is a minimalist Actor implementation. It is for reference only.\n\n## Evacchi\n\nFrom this [blog post](https://evacchi.github.io/posts/2021/10/12/learn-you-an-actor-system-for-great-good-with-java-17-records-switch-expressions-and-jbang/)\nby [Edoardo Vacchi](https://gist.github.com/evacchi).\n\n\n## Actor model with Chat example\n\nAdapted from the blogs [ACTORS AND VIRTUAL THREADS, A MATCH MADE IN HEAVEN?](https://www.javaadvent.com/2022/12/actors-and-virtual-threads-a-match-made-in-heaven.html)\nand [Type You An Actor Runtime For Greater Good!](https://evacchi.github.io/posts/2022/02/13/type-you-an-actor-runtime-for-greater-good-with-java-17-records-switch-expressions-and-jbang/)\n\nDemonstrates the use of Virtual Threads to implement an Actor model.\n\nAn Actor is a routine and a message queue.\n\nThe System puts a message in the Actor's queue. Some time later the Actor gets the chance \nto read the message and applies the routine.\n\nThe routine is called Behavior and takes a message and creates an Effect. \n\nAn Effect is the transition to the new state of the Actor, expressed as a new Behavior.\n\nEffect: current Behavior -\u003e new Behavior.\n\nStandard Effects are Stay and Die. Stay means no change while Die is a shutdown of the\nActor.\n\n## Usage\n\n1. Build with `mvn package`.\n1. Start the server with `sh start-server.sh`.\n1. Start clients with `sh start-client.sh` _username_.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperty%2Factormodel21","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperty%2Factormodel21","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperty%2Factormodel21/lists"}