{"id":21430171,"url":"https://github.com/cuba-platform/global-events-demo","last_synced_at":"2025-03-16T21:44:55.187Z","repository":{"id":150932193,"uuid":"133009891","full_name":"cuba-platform/global-events-demo","owner":"cuba-platform","description":"Global Events add-on demo project","archived":false,"fork":false,"pushed_at":"2020-03-11T14:21:30.000Z","size":124,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-23T08:19:41.142Z","etag":null,"topics":[],"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/cuba-platform.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-05-11T08:09:02.000Z","updated_at":"2021-07-19T16:55:09.000Z","dependencies_parsed_at":"2023-04-28T00:01:08.995Z","dependency_job_id":null,"html_url":"https://github.com/cuba-platform/global-events-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuba-platform%2Fglobal-events-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuba-platform%2Fglobal-events-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuba-platform%2Fglobal-events-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuba-platform%2Fglobal-events-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuba-platform","download_url":"https://codeload.github.com/cuba-platform/global-events-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243940063,"owners_count":20372044,"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":[],"created_at":"2024-11-22T22:21:11.685Z","updated_at":"2025-03-16T21:44:55.163Z","avatar_url":"https://github.com/cuba-platform.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Global Events Demo\n\nThis project is designed for testing the CUBA [Global Events add-on](https://github.com/cuba-platform/global-events-addon).\n\n## System Requirements\n\n* Linux or macOS\n* Locally installed PostgreSQL 9.5+\n* 16GB RAM and a modern multi-core CPU \n* Free port ranges: 7770..7776, 7801, 7802, 8050..8056, 8080..8086, 8090..8096, 8780..8786\n\n## Manual Testing\n\nFirst, create local PostgreSQL database which will be used by all configurations below:\n\n        ./gradlew createDb\n        \n### Local System\n         \n* Start Tomcat with `core`, `web` and `portal` blocks:\n\n        ./gradlew setupTomcat deploy start\n        \n* Open `http://localhost:8080/app` in two different browsers. \n\n* Open _Application \u003e Screen1_ in both browsers. Click _Send test event_ in one browser and see how the number of received events is increased in both.  \n\n* Open `app-core.glevtdemo:type=CoreTester` JMX bean in one browser. Invoke `sendUiNotificationEvent` operation and see how the number of received events is increased in both browsers. \n\n* Invoke `sendBeanNotificationEvent` operation, then open _Entity Inspector_ for the _Event Registration_ entity and make sure there are three instances with _Receiver_ fields indicating that the event was received by beans of all three blocks: `core`, `web` and `portal`.            \n\n### Cluster\n\n* Start cluster of six Tomcat servers and wait for all servers to load:\n\n        ./gradlew setupClusterEnv startClusterEnv\n        \n    In this setup, `web3` and `portal6` are connected to `core1`, `web4` and `web5` are connected to `core2`.\n\n* Open `http://localhost:8083/app` (web3), `http://localhost:8084/app` (web4), `http://localhost:8085/app` (web5) in different browsers and send UI events using the screen.\n\n* Open JMX console and select `localhost:7771` or `localhost:7772` JMX connections (`core1` and `core2` respectively). Send UI events and watch the number of received events in all browsers.\n\n* Invoke the `sendBeanNotificationEvent` JMX operation and ensure _Event Registration_ contains a record with the _Receiver_ field showing a bean from the `portal` block.\n\n* Stop cluster:\n\n         ./gradlew stopClusterEnv\n\n## Automatic Tests\n\n* Download [Chrome WebDriver](http://chromedriver.chromium.org/downloads) to a local directory. \n\n* Open terminal in the project root and execute:\n\n        ./run-system-test.sh /some_path/chromedriver\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuba-platform%2Fglobal-events-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuba-platform%2Fglobal-events-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuba-platform%2Fglobal-events-demo/lists"}