{"id":26032725,"url":"https://github.com/apache/geode-examples","last_synced_at":"2025-04-09T19:32:46.232Z","repository":{"id":37926078,"uuid":"77671214","full_name":"apache/geode-examples","owner":"apache","description":"Apache Geode Examples","archived":false,"fork":false,"pushed_at":"2023-01-20T04:04:30.000Z","size":1432,"stargazers_count":72,"open_issues_count":1,"forks_count":77,"subscribers_count":62,"default_branch":"develop","last_synced_at":"2025-04-03T04:16:55.808Z","etag":null,"topics":["geode"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-30T08:00:06.000Z","updated_at":"2025-03-14T10:00:41.000Z","dependencies_parsed_at":"2023-02-11T23:45:41.673Z","dependency_job_id":null,"html_url":"https://github.com/apache/geode-examples","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgeode-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgeode-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgeode-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgeode-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/geode-examples/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247909203,"owners_count":21016479,"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":["geode"],"created_at":"2025-03-06T22:55:39.523Z","updated_at":"2025-04-09T19:32:46.209Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nLicensed to the Apache Software Foundation (ASF) under one or more\ncontributor license agreements.  See the NOTICE file distributed with\nthis work for additional information regarding copyright ownership.\nThe ASF licenses this file to You under the Apache License, Version 2.0\n(the \"License\"); you may not use this file except in compliance with\nthe License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n--\u003e\n\n[\u003cimg src=\"https://geode.apache.org/img/Apache_Geode_logo.png\" align=\"center\"/\u003e](http://geode.apache.org)\n\n[![Build Status](https://api.travis-ci.org/apache/geode-examples.svg?branch=develop)](https://travis-ci.org.apache.geode_examples) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n# Apache Geode examples\n\nThis is the home of Apache Geode examples that are bundled with the project.\nContributions\u003csup\u003e[2]\u003c/sup\u003e and corrections are welcome. Please talk to us\nabout your suggestions at [dev@geode.apache.org](mailto:dev@geode.apache.org)\nor submit a [pull request](https://github.com/apache/geode/pull/new/develop).\n\n# Apache Geode Version\n\nGeode client code must link against the _same or older_ version of Geode as the Geode server it will connect to.\n\nAdd `-PgeodeRepositoryUrl= -PgeodeVersion=1.12.0` to your `./gradlew` command to specify which Geode client libraries to link, otherwise the default may be too new.\n\nIf the latest examples don't compile with your preferred version of Geode, use `git tag` to list the available versions, then check out a suitable tag e.g. `git checkout rel/v1.12.0`.\n\n## Running an example\n\nThe gradle build will automatically download and install a Geode release in the\n`build` directory. You can run an example with the following gradle targets:\n\n* `build` - compiles the example and runs unit tests\n* `start` - initializes the Geode cluster\n* `run` - runs the example Application\n* `stop` - shuts down the cluster\n* `runAll` - invokes start, run, stop\n\nThe commands you need to invoke will be given in the `README.md` file. Sample\nusage:\n\n    $ ./gradlew :replicated:start\n    $ ./gradlew :replicated:run\n    $ ./gradlew :replicated:stop\n    $ ./gradlew runAll\n    $ ./gradlew runAll -PgeodeRepositoryUrl= -PgeodeVersion=1.12.0\n\n## Catalog of examples\n\nThe following sections call out ready-made examples or new examples that could\nbe built. You may want to start your journey with the [Apache Geode in 15\nminutes or\nLess](https://geode.apache.org/docs/guide/13/getting_started/15_minute_quickstart_gfsh.html)\ntutorial.\n\n### Basics\n\n*  [Replicated Region](replicated/README.md)\n*  [Partitioned Region](partitioned/README.md)\n*  [Put Multiple Values at Once](putall/README.md)\n*  [Functions](functions/README.md)\n*  [Persistence](persistence/README.md)\n*  [OQL (Querying)](queries/README.md)\n\n### Intermediate\n\n*  [Serialization](serialization/README.md)\n*  [Lucene Indexing](lucene/README.md)\n*  [OQL Indexing](indexes/README.md)\n*  [Cache Loader](loader/README.md)\n*  [Cache Writer](writer/README.md)\n*  [Cache Listeners](listener/README.md)\n*  [Async Event Queues \u0026 Async Event Listeners](async/README.md)\n*  [Continuous Querying](cq/README.md)\n*  [Transaction](transaction/README.md)\n*  [Eviction](eviction/README.md)\n*  [Expiration](expiration/README.md)\n*  [Overflow](overflow/README.md)\n*  [Security \u0026 SSL](clientSecurity/README.md)\n*  [Colocation](colocation/README.md)\n*  Off-heap\n*  [Rest](rest/README.md)\n\n### Advanced\n\n*  [Lucene Spatial Indexing](luceneSpatial/README.md)\n*  [WAN Gateway](wan/README.md)\n*  [Durable Messaging for Subscriptions](durableMessaging/README.md)\n*  [Micrometer Metrics](micrometerMetrics/README.md)\n*  Delta propagation\n*  Network partition detection\n*  D-lock\n*  [Compression](compression/README.md)\n*  Resource manager\n*  PDX Advanced\n\n### Use cases, integrations and external examples\n\nThis section has self-contained little projects that illustrate a use case or\nan integration with other projects.\n\n*  SpringBoot Application\n*  HTTP Session replication\n*  Memcached\n*  Spark Connector\n\n## Adding a new example\n\nFollow this approach to add a new example:\n\n* Create a subdirectory with a descriptive name like `cacheWriter`\n* Create a `README.md` file in the example subproject to walk the user through the tutorial\n* Create a Java class with a main method in the `org.apache.geode_examples.$name.Example` class\n* Create a cluster initialization script in `scripts/start.gfsh`\n* Create a cluster shutdown script in `scripts/stop.gfsh`\n* Modify the top-level `settings.gradle` file to include subproject\n* Modify this `README.md` file to include the new example in the catalog of examples\n\nThe scripts should contain `gfsh` commands for starting locators, servers, and\ncreating regions--everything that the example program will need to use. Where\nappropriate you should also add unit tests. To customize the build you can add\na `build.gradle` file.\n\nVerify that the examples build by executing `./gradlew runAll` from the root directory.\nNote that the build may fail if you do not add ASF license headers or use the\ncorrect formatting. You can fix formatting with `./gradlew spotlessApply`.\n\n## References\n\n- [1]  [https://cwiki.apache.org/confluence/display/GEODE/Criteria+for+Code+Submissions](https://cwiki.apache.org/confluence/display/GEODE/Criteria+for+Code+Submissions)\n- [2]  [https://cwiki.apache.org/confluence/display/GEODE/How+to+Contribute](https://cwiki.apache.org/confluence/display/GEODE/How+to+Contribute)\n- [3]  [https://www.apache.org/licenses/#clas](http://www.apache.org/licenses/#clas)\n\n## Export Control\n\nThis distribution includes cryptographic software.\nThe country in which you currently reside may have restrictions\non the import, possession, use, and/or re-export to another country,\nof encryption software. BEFORE using any encryption software,\nplease check your country's laws, regulations and policies\nconcerning the import, possession, or use, and re-export of\nencryption software, to see if this is permitted.\nSee \u003chttps://www.wassenaar.org/\u003e for more information.\n\nThe U.S. Government Department of Commerce, Bureau of Industry and Security (BIS),\nhas classified this software as Export Commodity Control Number (ECCN) 5D002.C.1,\nwhich includes information security software using or performing\ncryptographic functions with asymmetric algorithms.\nThe form and manner of this Apache Software Foundation distribution makes\nit eligible for export under the License Exception\nENC Technology Software Unrestricted (TSU) exception\n(see the BIS Export Administration Regulations, Section 740.13)\nfor both object code and source code.\n\nThe following provides more details on the included cryptographic software:\n\n* Apache Geode is designed to be used with\n  [Java Secure Socket Extension](https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html) (JSSE) and\n  [Java Cryptography Extension](https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html) (JCE).\n  The [JCE Unlimited Strength Jurisdiction Policy](https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)\n  may need to be installed separately to use keystore passwords with 7 or more characters.\n* Apache Geode links to and uses [OpenSSL](https://www.openssl.org/) ciphers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fgeode-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fgeode-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fgeode-examples/lists"}