{"id":13485710,"url":"https://github.com/justinsb/jetcd","last_synced_at":"2025-08-21T09:32:45.512Z","repository":{"id":10438647,"uuid":"12604292","full_name":"justinsb/jetcd","owner":"justinsb","description":"Java binding for etcd","archived":false,"fork":false,"pushed_at":"2023-02-21T09:35:31.000Z","size":31,"stargazers_count":137,"open_issues_count":17,"forks_count":55,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-12-09T01:51:29.438Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/justinsb.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-09-04T23:16:59.000Z","updated_at":"2024-10-05T03:53:02.000Z","dependencies_parsed_at":"2024-01-03T01:32:43.355Z","dependency_job_id":null,"html_url":"https://github.com/justinsb/jetcd","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/justinsb%2Fjetcd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinsb%2Fjetcd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinsb%2Fjetcd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinsb%2Fjetcd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justinsb","download_url":"https://codeload.github.com/justinsb/jetcd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230507049,"owners_count":18236944,"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-07-31T18:00:30.290Z","updated_at":"2024-12-19T22:07:27.352Z","avatar_url":"https://github.com/justinsb.png","language":"Java","readme":"jetcd: Java binding for etcd\n============================\n\nTravisCI: [![Build Status](https://travis-ci.org/justinsb/jetcd.png?branch=master)](https://travis-ci.org/justinsb/jetcd)\n\nCircleCI: ![CircleCI Status](https://circleci.com/gh/justinsb/jetcd.png?circle-token=ebf4870e1fc43b6d6139a0514312441b7dc11457)\n\n\nA simple Java client library for the awesome [etcd]\n\nUses the Apache [HttpAsyncClient] to implement watches without blocking a thread, and Google's [Guava] to give us the nice [ListenableFuture] interface. \n\nCheck out [SmokeTest.java] to see how this is used (and tested), but here's a quick code example:\n\n```Java\nEtcdClient client = new EtcdClient(URI.create(\"http://127.0.0.1:4001/\"));\n\nString key = \"/watch\";\n\nEtcdResult result = this.client.set(key, \"hello\");\nAssert.assertEquals(\"hello\", result.value);\n\nresult = this.client.get(key);\nAssert.assertEquals(\"hello\", result.value);\n        \nListenableFuture\u003cEtcdResult\u003e watchFuture = this.client.watch(key, result.index + 1);\nAssert.assertFalse(watchFuture.isDone());\n\nresult = this.client.set(key, \"world\");\nAssert.assertEquals(\"world\", result.value);\n\nEtcdResult watchResult = watchFuture.get(100, TimeUnit.MILLISECONDS);\nAssert.assertNotNull(result);\nAssert.assertEquals(\"world\", result.value);\n```\n \nFor a bit of background, check out the [blog post]\n\n\n[blog post]: http://blog.justinsb.com\n[etcd]: http://coreos.com/blog/distributed-configuration-with-etcd/\n[SmokeTest.java]: https://github.com/justinsb/jetcd/blob/master/src/test/java/com/justinsb/etcd/SmokeTest.java\n[ListenableFuture]: https://code.google.com/p/guava-libraries/wiki/ListenableFutureExplained\n[Guava]: https://plus.google.com/118010414872916542489\n[HttpAsyncClient]:http://hc.apache.org/httpcomponents-asyncclient-dev/\n\n","funding_links":[],"categories":["项目","Projects"],"sub_categories":["数据库","Database"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinsb%2Fjetcd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustinsb%2Fjetcd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinsb%2Fjetcd/lists"}