{"id":19945060,"url":"https://github.com/infinispan-demos/vertx-api","last_synced_at":"2025-07-28T15:11:37.436Z","repository":{"id":85539945,"uuid":"113967710","full_name":"infinispan-demos/vertx-api","owner":"infinispan-demos","description":"Example that creates a REST, PUSH API and a Clustered Application with Vert.x and Infinispan","archived":false,"fork":false,"pushed_at":"2023-01-23T11:29:19.000Z","size":437,"stargazers_count":10,"open_issues_count":0,"forks_count":10,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-05-03T16:34:20.672Z","etag":null,"topics":["clustering","infinispan","java","react","vertx","vertx-web"],"latest_commit_sha":null,"homepage":"","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/infinispan-demos.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":"2017-12-12T09:05:06.000Z","updated_at":"2023-04-20T07:33:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c463dfe-c58a-419d-ba4c-dea90c4d5557","html_url":"https://github.com/infinispan-demos/vertx-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/infinispan-demos/vertx-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinispan-demos%2Fvertx-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinispan-demos%2Fvertx-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinispan-demos%2Fvertx-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinispan-demos%2Fvertx-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infinispan-demos","download_url":"https://codeload.github.com/infinispan-demos/vertx-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinispan-demos%2Fvertx-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267535926,"owners_count":24103394,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"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":["clustering","infinispan","java","react","vertx","vertx-web"],"created_at":"2024-11-13T00:24:04.399Z","updated_at":"2025-07-28T15:11:37.428Z","avatar_url":"https://github.com/infinispan-demos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a simple example on how to build your first [Vert.x](http://www.vertx.io) using Infinispan.\n\nExamples include :\n- Creating a simple REST API\n- Creating and consuming a simple PUSH API\n- Clustering with Infinispan\n\n# Running these examples locally\n\nREST and PUSH APi examples use [Client/Server mode](http://infinispan.org/docs/stable/user_guide/user_guide.html#client_server) and \nthe [Hot Rod protocol](http://infinispan.org/docs/stable/user_guide/user_guide.html#hotrod:java-client).\nBoth examples need an Infinispan Server running locally.\nYou will need an Infinispan Server to run [CuteNamesRestAPITest](restapi/src/main/java/cutenames/CuteNamesRestAPI.java) and\n[SendCuteNamesAPITest](socketapi/src/main/java/cutenames/SendCuteNamesAPI.java)\n\nThe clustered example, uses the [Vert.x Infinispan Cluster Manager](https://vertx.io/docs/vertx-infinispan/java/). Each node\nof the clustered application uses an embedded infinispan instance. We don't need any server running. \nSee the [readme](clustered/README.md) for more explanations.\n\n## Install and Run an Infinispan Server\n\nYou can use docker or download the server manually.\n\n### Running Infinispan Server with the docker image\n\nFor example, if you want to test with the version 9.3.0.Final:\n \n```docker run -it -p 11222:11222 jboss/infinispan-server:9.3.0.Final```\n\n### Running a downloaded Infinispan Server\n\n- Download the infinispan server from [here](http://infinispan.org/download)\n- Start Infinispan Standalone Server running `./infinispan-server/bin/standalone.sh` \n\n### REST API\n\n- `cd restapi`\n- run `mvn exec:java -Dexec.mainClass=\"cutenames.CuteNamesRestAPI\"`\n\nYou can now put and get names using curl.\n\n`curl -X POST -H \"Content-Type: application/json\" -d '{\"id\":\"42\", \"name\":\"Oihana\"}' \"http://localhost:8081/api/cutenames\"`\n\n`curl -X GET -H \"Content-Type: application/json\" \"http://localhost:8081/api/cutenames/42\"`\n\n`curl -X POST -H \"Content-Type: application/json\" -d '{\"name\":\"Elaia\"}' \"http://localhost:8081/api/cutenames\"`\n\n### Push API\n- cd `socketapi`\n- run `mvn exec:java -Dexec.mainClass=\"cutenames.SendCuteNamesAPI\"`\n\n### Running the client application\n\n- `cd cute-react`\n- run `npm install`\n- run `npm start`\n- Go to `http://localhost:9000/`\n\nEach time a new name will be posted, the name will be displayed in the client application.\n\n### Clustered Vert.x\n\nClustered Vert.x example showcases a dummy application in cluster mode using Infinispan cluster manager.\nSee the dedicated [readme file](clustered/README.md).\n\n# Deploying on OpenShift\n\nThe new way of deploying a Infinispan is now using the [Operator framework](https://github.com/operator-framework).\n\nRead this [Infinispan Simple Tutorial](https://github.com/infinispan/infinispan-simple-tutorials/tree/master/operator) \nto have it up and running!\n\nThe cluster created by the example above 'example-infinispan' is the host you need to use to connect with\n the hotrod client. Instead `localhost:11222` your server will be `example-infinispan:11222`\n This is configured by default in the code in [`CacheAccessVerticle`](./commons/src/main/java/cutenames/CacheAccessVerticle.java)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinispan-demos%2Fvertx-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfinispan-demos%2Fvertx-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinispan-demos%2Fvertx-api/lists"}