{"id":23035199,"url":"https://github.com/webfirmframework/wffweb-graalvm-production-ready-sample-projects","last_synced_at":"2025-10-06T07:24:25.286Z","repository":{"id":268124225,"uuid":"695521439","full_name":"webfirmframework/wffweb-graalvm-production-ready-sample-projects","owner":"webfirmframework","description":"Sample wffweb project to build native image with GraalVM.","archived":false,"fork":false,"pushed_at":"2025-03-14T07:25:55.000Z","size":327,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-14T08:29:11.845Z","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/webfirmframework.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":"2023-09-23T12:52:39.000Z","updated_at":"2025-03-14T07:25:59.000Z","dependencies_parsed_at":"2025-03-14T08:26:19.070Z","dependency_job_id":null,"html_url":"https://github.com/webfirmframework/wffweb-graalvm-production-ready-sample-projects","commit_stats":null,"previous_names":["webfirmframework/wffweb-graalvm-production-ready-sample-projects"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webfirmframework%2Fwffweb-graalvm-production-ready-sample-projects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webfirmframework%2Fwffweb-graalvm-production-ready-sample-projects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webfirmframework%2Fwffweb-graalvm-production-ready-sample-projects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webfirmframework%2Fwffweb-graalvm-production-ready-sample-projects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webfirmframework","download_url":"https://codeload.github.com/webfirmframework/wffweb-graalvm-production-ready-sample-projects/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246900715,"owners_count":20852092,"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-12-15T16:39:05.708Z","updated_at":"2025-10-06T07:24:25.281Z","avatar_url":"https://github.com/webfirmframework.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wffweb demo app with wffweb-12.x.x and GraalVM Java 21, 23 \u0026 24\n##### Note: your system should have ~8GB free RAM to build native image and it may vary based on the project size.\n#### It contains sample code for url rewriting/routing, JWT token based authentication/authorization and configuration for multi node support for scaling.\n\n\n##### To run this project in IDE, open this project with IntelliJ IDEA as a maven project and run `com.webfirmframework.web.launcher.Main.main` method.\n\n___\n\n##### First Run the agent to generate/update needful config json files\nexecute command `mvn -Pnative -Dagent exec:exec@java-agent` and test all features to generate/update needful config files\nunder _graalvm_resources/META-INF/com.webfirmframework/wffwebappdemo/native-image_ directory.\n\n___\n\n##### To build native executable\nexecute command `mvn package -Pnative -Dagent package`\n\nNB: Please make sure that there is a 4GB free RAM on the build machine.\nIf you want to build the native image with different memory, modify the `\u003carg\u003e-J-Xmx4g\u003c/arg\u003e` value in `\u003cbuildArgs\u003e` of `native-maven-plugin` in `pom.xml` file.\n\n___\n\n##### To run native executable on your machine\nGo to target directory of the project, execute file as `./minimalproductionsample`\n\n___\n\n##### To run the application with Maven and as a native executable\nexecute command `mvn -Pnative exec:exec@native`\n\n___\n\n\n\n### How to scale app with multiple nodes?\nThe only thing you have to do is to deploy this app in multiple server nodes and connect it with a load balancer. \n**No need to configure sticky sessions to the load balancer**.\n\n_(use your own domain names)_\n\n**Eg**: _deploy this wffweb demo app in multiple domain nodes like node1.webfirmframework.com, node2.webfirmframework.com, node3.webfirmframework.com etc... \nNow create a load balancer in the main domain webfirmframework.com and point it to those subdomain nodes. That's all!_\n\n**NB**: _The websocket connection should be publicly accessible in the subdomain nodes. \nThe access to http connection in the subdomain nodes may be limited to the load balancer, \nto do that, the load balancer should route request to the nodes along with an app key,\nthis app key may be checked in the demo app._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfirmframework%2Fwffweb-graalvm-production-ready-sample-projects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebfirmframework%2Fwffweb-graalvm-production-ready-sample-projects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfirmframework%2Fwffweb-graalvm-production-ready-sample-projects/lists"}