{"id":20173264,"url":"https://github.com/teedjay/playground-payaramicro","last_synced_at":"2026-06-08T17:31:25.958Z","repository":{"id":73156857,"uuid":"125865497","full_name":"teedjay/playground-payaramicro","owner":"teedjay","description":"Messing around with PayarMicro, JavaEE7 and Eclipse MicroProfile 1.3","archived":false,"fork":false,"pushed_at":"2018-08-07T10:30:56.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-03T04:41:56.273Z","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/teedjay.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-03-19T13:53:32.000Z","updated_at":"2018-08-07T10:30:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"457371ad-e448-4a9b-934f-3ff6dd8d2631","html_url":"https://github.com/teedjay/playground-payaramicro","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/teedjay/playground-payaramicro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fplayground-payaramicro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fplayground-payaramicro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fplayground-payaramicro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fplayground-payaramicro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teedjay","download_url":"https://codeload.github.com/teedjay/playground-payaramicro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teedjay%2Fplayground-payaramicro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34073668,"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-08T02:00:07.615Z","response_time":111,"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-14T01:34:33.978Z","updated_at":"2026-06-08T17:31:25.938Z","avatar_url":"https://github.com/teedjay.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Payara Micro Playground\nPayara Micro is a small [Java EE](http://www.oracle.com/technetwork/java/javaee/tech/index-jsp-142185.html) server \nthat also includes support for [Eclipse MicroProfile 1.3](https://projects.eclipse.org/projects/technology.microprofile/releases/microprofile-1.3) \nand [JCache](https://www.jcp.org/en/jsr/detail?id=107).\n\nPayara Micro have built-in clustering as default (no configuration needed) and can run WAR files directly\nfrom the command line without any installation.  This makes it suitable for fast deploy cycles and running\nMicroServices.\n\nSince you compile against a specification that is provided by the runtime you will get skinny WAR files.\nThe small size makes it smooth and fast to do CI/CD and is optimal for storage of deployment artifacts in\nrepositories like Nexus. \n\nSkinny war files makes Payara Micro a great fit with Docker and container orchestration like Kubernetes.\nThe only change between versioned Docker images will be the tiny WAR file.\n\nPayara Micro also facilitates Fat-JAR / Uber-JAR, creating a single runnable jar-artifact\nthat includes both appserver and your application(s).  This is great for easy deployment. \n\n## What is this project?\nThis is a playground to mess around with different JEE7 and MicroProfile 1.3 features without any\nadditional libraries.  This should provide lean and mean WAR files, fast to copy and fast to deploy.\n\nEach package in this project aims to demonstrate one feature and the different parts are [documented and explained](doc/index.adoc).\n\n## TODO List\n- [x] Add Docker instructions\n- [x] Add Oracle data-source example\n- [x] Add Asciidoctor documentaton for each feaure (keep this main README lean and clean)\n- [x] MicroProfile Fault Tolerance 1.0 (Retry, Timeout, Fallback, Bulkhead, Circuit Breaker)\n- [x] MicroProfile OpenAPI 1.0\n- [x] MicroProfile Metrics 1.1\n- [x] MicroProfile Health Check 1.0\n- [ ] MicroProfile Config 1.2 (existing example is 1.1 only)\n- [ ] MicroProfile OpenTracing 1.0\n- [ ] MicroProfile Rest Client 1.0 (Type-safe Rest Client 1.0)\n- [ ] MicroProfile JWT Auth 1.0 (JWT Propagation 1.0)\n- [ ] Explain how to do proper logging with Payara (JUL and SLF4J, combined in server log or separate)\n- [ ] Replace System.out and System.err with proper logging\n- [ ] Build asciidoc PDF and HTML automatically\n- [ ] Add .editorconfig\n- [ ] Add Jenkinsfile\n\n### To build the WAR file\nYou need Java 8 and Maven 8 installed to build and run.\n```\nmvn clean package\n```\n\n### To run locally on Payara Micro\nMake a local payara folder and download the latest [Payara Micro 5](https://www.payara.fish/payara_micro) jar file there (do **not** add payara micro to git). \n\nThen run the following command using Java 8.\n```\njava -jar payara/payara-micro-5.182.jar --deploy target/payaramicro.war\n```\n\n### To build and run as standalone \"Uber JAR\" / \"FAT JAR\"\n```\nmvn clean package\njava -jar payara/payara-micro-5.182.jar --deploy target/payaramicro.war --outputUberJar my-standalone-app.jar\njava -jar my-standalone-app.jar\n```\n\n### Optionally : Run on OpenLiberty port 9080 with hot deploy features (and debugging if needed)\n```\nmvn clean package liberty:run-server -Popenliberty\nmvn clean package liberty:debug-server -Popenliberty    \u003c== Use \"Attach to Local Process\" in IDEA after server starts\n```\n\n### Optionally : Compile, build and run using Docker\nThe build command will first compile and create the war file in a Java 8 and Maven container.  \nThen war file will then be copied into the result image tagged as `my_payara_image` which can be run like shown below.\n```\ndocker build -t my_payara_image .\ndocker run -p 8080:8080 -d --name playgound_payara my_payara_image\n```\n\nAfter running the container you can stop and start it like this :\n```\ndocker stop playgound_payara\ndocker start playgound_payara\n```\n\n### OpenAPI v3.0.0 / Swagger definition\nThe MicroProfile 1.3 specification includes [OpenAPI 1.0 ](http://download.eclipse.org/microprofile/microprofile-open-api-1.0/microprofile-openapi-spec.html).  \nThis produces documentaton in the openapi 3.0.0 format, take a look in the `openapi` package to see how this work.\n\nFor a demo start the application and check out this url : curl http://localhost:8080/openapi\n\nFor a list of tools and utilities regarding OpenAPI take a look here : https://apis.guru/awesome-openapi3/\n\n## Clustering\nIf you start multiple Payara Micro instanses they will automatically cluster together and share\nsession and cache data.  This feature is provided as default by [Hazelecast](https://hazelcast.org).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteedjay%2Fplayground-payaramicro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteedjay%2Fplayground-payaramicro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteedjay%2Fplayground-payaramicro/lists"}