实例介绍
zookeeper 客户端 curator 源文件
【实例截图】
【核心代码】
apache-curator-3.2.0-source-release
└── apache-curator-3.2.0
├── curator-client
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ ├── connection
│ │ │ ├── ClassicConnectionHandlingPolicy.java
│ │ │ ├── ConnectionHandlingPolicy.java
│ │ │ └── StandardConnectionHandlingPolicy.java
│ │ ├── ConnectionState.java
│ │ ├── CuratorConnectionLossException.java
│ │ ├── CuratorZookeeperClient.java
│ │ ├── drivers
│ │ │ └── TracerDriver.java
│ │ ├── ensemble
│ │ │ ├── EnsembleProvider.java
│ │ │ ├── exhibitor
│ │ │ │ ├── DefaultExhibitorRestClient.java
│ │ │ │ ├── ExhibitorEnsembleProvider.java
│ │ │ │ ├── ExhibitorRestClient.java
│ │ │ │ └── Exhibitors.java
│ │ │ └── fixed
│ │ │ └── FixedEnsembleProvider.java
│ │ ├── HandleHolder.java
│ │ ├── retry
│ │ │ ├── BoundedExponentialBackoffRetry.java
│ │ │ ├── ExponentialBackoffRetry.java
│ │ │ ├── RetryForever.java
│ │ │ ├── RetryNTimes.java
│ │ │ ├── RetryOneTime.java
│ │ │ ├── RetryUntilElapsed.java
│ │ │ └── SleepingRetry.java
│ │ ├── RetryLoop.java
│ │ ├── RetryPolicy.java
│ │ ├── RetrySleeper.java
│ │ ├── SessionFailRetryLoop.java
│ │ ├── TimeTrace.java
│ │ └── utils
│ │ ├── CloseableExecutorService.java
│ │ ├── CloseableScheduledExecutorService.java
│ │ ├── CloseableUtils.java
│ │ ├── DebugUtils.java
│ │ ├── DefaultTracerDriver.java
│ │ ├── DefaultZookeeperFactory.java
│ │ ├── EnsurePath.java
│ │ ├── InternalACLProvider.java
│ │ ├── PathUtils.java
│ │ ├── ThreadUtils.java
│ │ ├── ZKPaths.java
│ │ └── ZookeeperFactory.java
│ ├── site
│ │ ├── confluence
│ │ │ └── index.confluence
│ │ └── site.xml
│ └── test
│ ├── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ ├── BasicTests.java
│ │ ├── ensemble
│ │ │ └── exhibitor
│ │ │ └── TestExhibitorEnsembleProvider.java
│ │ ├── TestEnsurePath.java
│ │ ├── TestRetryLoop.java
│ │ ├── TestSessionFailRetryLoop.java
│ │ └── utils
│ │ ├── TestCloseableExecutorService.java
│ │ ├── TestCloseableScheduledExecutorService.java
│ │ └── TestZKPaths.java
│ └── resources
│ └── log4j.properties
├── curator-examples
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ ├── cache
│ │ │ └── PathCacheExample.java
│ │ ├── discovery
│ │ │ ├── DiscoveryExample.java
│ │ │ ├── ExampleServer.java
│ │ │ └── InstanceDetails.java
│ │ ├── framework
│ │ │ ├── CreateClientExamples.java
│ │ │ ├── CrudExamples.java
│ │ │ └── TransactionExamples.java
│ │ ├── leader
│ │ │ ├── ExampleClient.java
│ │ │ └── LeaderSelectorExample.java
│ │ └── locking
│ │ ├── ExampleClientThatLocks.java
│ │ ├── FakeLimitedResource.java
│ │ └── LockingExample.java
│ └── site
│ ├── confluence
│ │ └── index.confluence
│ └── site.xml
├── curator-framework
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── framework
│ │ ├── api
│ │ │ ├── ACLable.java
│ │ │ ├── ACLBackgroundPathAndBytesable.java
│ │ │ ├── ACLCreateModeBackgroundPathAndBytesable.java
│ │ │ ├── ACLCreateModePathAndBytesable.java
│ │ │ ├── ACLCreateModeStatBackgroundPathAndBytesable.java
│ │ │ ├── ACLPathAndBytesable.java
│ │ │ ├── ACLProvider.java
│ │ │ ├── Addable.java
│ │ │ ├── AddStatConfigEnsembleable.java
│ │ │ ├── AsyncReconfigurable.java
│ │ │ ├── Backgroundable.java
│ │ │ ├── BackgroundCallback.java
│ │ │ ├── BackgroundEnsembleable.java
│ │ │ ├── BackgroundPathable.java
│ │ │ ├── BackgroundPathableQuietlyable.java
│ │ │ ├── BackgroundPathAndBytesable.java
│ │ │ ├── BackgroundVersionable.java
│ │ │ ├── ChildrenDeletable.java
│ │ │ ├── Compressible.java
│ │ │ ├── CompressionProvider.java
│ │ │ ├── ConfigureEnsembleable.java
│ │ │ ├── CreateBackgroundModeACLable.java
│ │ │ ├── CreateBackgroundModeStatACLable.java
│ │ │ ├── CreateBuilder.java
│ │ │ ├── CreateBuilderMain.java
│ │ │ ├── CreateModable.java
│ │ │ ├── CreateProtectACLCreateModePathAndBytesable.java
│ │ │ ├── CuratorEvent.java
│ │ │ ├── CuratorEventType.java
│ │ │ ├── CuratorListener.java
│ │ │ ├── CuratorWatcher.java
│ │ │ ├── DataCallbackable.java
│ │ │ ├── Decompressible.java
│ │ │ ├── DeleteBuilder.java
│ │ │ ├── DeleteBuilderMain.java
│ │ │ ├── Ensembleable.java
│ │ │ ├── ErrorListenerEnsembleable.java
│ │ │ ├── ErrorListenerMultiTransactionMain.java
│ │ │ ├── ErrorListenerPathable.java
│ │ │ ├── ErrorListenerPathAndBytesable.java
│ │ │ ├── ErrorListenerReconfigBuilderMain.java
│ │ │ ├── ExistsBuilder.java
│ │ │ ├── ExistsBuilderMain.java
│ │ │ ├── GetACLBuilder.java
│ │ │ ├── GetChildrenBuilder.java
│ │ │ ├── GetConfigBuilder.java
│ │ │ ├── GetDataBuilder.java
│ │ │ ├── GetDataWatchBackgroundStatable.java
│ │ │ ├── GuaranteeableDeletable.java
│ │ │ ├── Guaranteeable.java
│ │ │ ├── Joinable.java
│ │ │ ├── JoinStatConfigEnsembleable.java
│ │ │ ├── Leaveable.java
│ │ │ ├── LeaveStatConfigEnsembleable.java
│ │ │ ├── Membersable.java
│ │ │ ├── Pathable.java
│ │ │ ├── PathAndBytesable.java
│ │ │ ├── ProtectACLCreateModePathAndBytesable.java
│ │ │ ├── ProtectACLCreateModeStatPathAndBytesable.java
│ │ │ ├── Quietly.java
│ │ │ ├── ReconfigBuilder.java
│ │ │ ├── ReconfigBuilderMain.java
│ │ │ ├── RemoveWatchesBuilder.java
│ │ │ ├── RemoveWatchesLocal.java
│ │ │ ├── RemoveWatchesType.java
│ │ │ ├── SetACLBuilder.java
│ │ │ ├── SetDataBackgroundVersionable.java
│ │ │ ├── SetDataBuilder.java
│ │ │ ├── Statable.java
│ │ │ ├── StatConfigureEnsembleable.java
│ │ │ ├── StatPathable.java
│ │ │ ├── SyncBuilder.java
│ │ │ ├── TempGetDataBuilder.java
│ │ │ ├── transaction
│ │ │ │ ├── CuratorMultiTransaction.java
│ │ │ │ ├── CuratorMultiTransactionMain.java
│ │ │ │ ├── CuratorOp.java
│ │ │ │ ├── CuratorTransactionBridge.java
│ │ │ │ ├── CuratorTransactionFinal.java
│ │ │ │ ├── CuratorTransaction.java
│ │ │ │ ├── CuratorTransactionResult.java
│ │ │ │ ├── OperationType.java
│ │ │ │ ├── TransactionCheckBuilder.java
│ │ │ │ ├── TransactionCreateBuilder.java
│ │ │ │ ├── TransactionDeleteBuilder.java
│ │ │ │ ├── TransactionOp.java
│ │ │ │ ├── TransactionSetDataBuilder.java
│ │ │ │ └── TypeAndPath.java
│ │ │ ├── UnhandledErrorListener.java
│ │ │ ├── Versionable.java
│ │ │ ├── VersionPathAndBytesable.java
│ │ │ ├── Watchable.java
│ │ │ ├── WatchBackgroundEnsembleable.java
│ │ │ └── WatchPathable.java
│ │ ├── AuthInfo.java
│ │ ├── CuratorFrameworkFactory.java
│ │ ├── CuratorFramework.java
│ │ ├── CuratorTempFramework.java
│ │ ├── EnsureContainers.java
│ │ ├── imps
│ │ │ ├── ACLing.java
│ │ │ ├── Backgrounding.java
│ │ │ ├── BackgroundOperation.java
│ │ │ ├── BackgroundSyncImpl.java
│ │ │ ├── ClassicInternalConnectionHandler.java
│ │ │ ├── CreateBuilderImpl.java
│ │ │ ├── CuratorEventImpl.java
│ │ │ ├── CuratorFrameworkImpl.java
│ │ │ ├── CuratorFrameworkState.java
│ │ │ ├── CuratorMultiTransactionImpl.java
│ │ │ ├── CuratorMultiTransactionRecord.java
│ │ │ ├── CuratorTempFrameworkImpl.java
│ │ │ ├── CuratorTransactionImpl.java
│ │ │ ├── DefaultACLProvider.java
│ │ │ ├── DeleteBuilderImpl.java
│ │ │ ├── EnsembleTracker.java
│ │ │ ├── ExistsBuilderImpl.java
│ │ │ ├── ExtractingCuratorOp.java
│ │ │ ├── FailedDeleteManager.java
│ │ │ ├── FailedOperationManager.java
│ │ │ ├── FailedRemoveWatchManager.java
│ │ │ ├── FindAndDeleteProtectedNodeInBackground.java
│ │ │ ├── GetACLBuilderImpl.java
│ │ │ ├── GetChildrenBuilderImpl.java
│ │ │ ├── GetConfigBuilderImpl.java
│ │ │ ├── GetDataBuilderImpl.java
│ │ │ ├── GzipCompressionProvider.java
│ │ │ ├── InternalConnectionHandler.java
│ │ │ ├── NamespaceFacadeCache.java
│ │ │ ├── NamespaceFacade.java
│ │ │ ├── NamespaceImpl.java
│ │ │ ├── NamespaceWatchedEvent.java
│ │ │ ├── NamespaceWatcher.java
│ │ │ ├── OperationAndData.java
│ │ │ ├── PathAndBytes.java
│ │ │ ├── ReconfigBuilderImpl.java
│ │ │ ├── RemoveWatchesBuilderImpl.java
│ │ │ ├── SetACLBuilderImpl.java
│ │ │ ├── SetDataBuilderImpl.java
│ │ │ ├── StandardInternalConnectionHandler.java
│ │ │ ├── SyncBuilderImpl.java
│ │ │ ├── TempGetDataBuilderImpl.java
│ │ │ ├── TransactionOpImpl.java
│ │ │ ├── WatcherRemovalFacade.java
│ │ │ ├── WatcherRemovalManager.java
│ │ │ └── Watching.java
│ │ ├── listen
│ │ │ ├── Listenable.java
│ │ │ ├── ListenerContainer.java
│ │ │ └── ListenerEntry.java
│ │ ├── schema
│ │ │ ├── DefaultSchemaValidator.java
│ │ │ ├── SchemaBuilder.java
│ │ │ ├── Schema.java
│ │ │ ├── SchemaSet.java
│ │ │ ├── SchemaSetLoader.java
│ │ │ ├── SchemaValidator.java
│ │ │ └── SchemaViolation.java
│ │ ├── state
│ │ │ ├── ConnectionStateErrorPolicy.java
│ │ │ ├── ConnectionState.java
│ │ │ ├── ConnectionStateListener.java
│ │ │ ├── ConnectionStateManager.java
│ │ │ ├── SessionConnectionStateErrorPolicy.java
│ │ │ └── StandardConnectionStateErrorPolicy.java
│ │ └── WatcherRemoveCuratorFramework.java
│ ├── site
│ │ ├── confluence
│ │ │ ├── index.confluence
│ │ │ └── schema.confluence
│ │ └── site.xml
│ └── test
│ ├── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── framework
│ │ ├── imps
│ │ │ ├── TestBlockUntilConnected.java
│ │ │ ├── TestCleanState.java
│ │ │ ├── TestCompressionInTransactionNew.java
│ │ │ ├── TestCompressionInTransactionOld.java
│ │ │ ├── TestCompression.java
│ │ │ ├── TestCreateReturningStat.java
│ │ │ ├── TestEnabledSessionExpiredState.java
│ │ │ ├── TestEnsureContainers.java
│ │ │ ├── TestFailedDeleteManager.java
│ │ │ ├── TestFrameworkBackground.java
│ │ │ ├── TestFrameworkEdges.java
│ │ │ ├── TestFramework.java
│ │ │ ├── TestMultiClient.java
│ │ │ ├── TestNamespaceFacade.java
│ │ │ ├── TestNeverConnected.java
│ │ │ ├── TestReadOnly.java
│ │ │ ├── TestReconfiguration.java
│ │ │ ├── TestRemoveWatches.java
│ │ │ ├── TestTempFramework.java
│ │ │ ├── TestTransactionsNew.java
│ │ │ ├── TestTransactionsOld.java
│ │ │ ├── TestWatcherIdentity.java
│ │ │ ├── TestWatcherRemovalManager.java
│ │ │ └── TestWithCluster.java
│ │ └── schema
│ │ └── TestSchema.java
│ └── resources
│ ├── log4j.properties
│ ├── schema1.json
│ ├── schema2.json
│ ├── schema3.json
│ ├── schema4.json
│ ├── schema5.json
│ └── schema.yaml
├── curator-recipes
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── framework
│ │ └── recipes
│ │ ├── AfterConnectionEstablished.java
│ │ ├── atomic
│ │ │ ├── AtomicStats.java
│ │ │ ├── AtomicValue.java
│ │ │ ├── CachedAtomicInteger.java
│ │ │ ├── CachedAtomicLong.java
│ │ │ ├── DistributedAtomicInteger.java
│ │ │ ├── DistributedAtomicLong.java
│ │ │ ├── DistributedAtomicNumber.java
│ │ │ ├── DistributedAtomicValue.java
│ │ │ ├── MakeValue.java
│ │ │ ├── MutableAtomicValue.java
│ │ │ └── PromotedToLock.java
│ │ ├── barriers
│ │ │ ├── DistributedBarrier.java
│ │ │ └── DistributedDoubleBarrier.java
│ │ ├── cache
│ │ │ ├── ChildData.java
│ │ │ ├── DefaultTreeCacheSelector.java
│ │ │ ├── EventOperation.java
│ │ │ ├── GetDataOperation.java
│ │ │ ├── NodeCache.java
│ │ │ ├── NodeCacheListener.java
│ │ │ ├── Operation.java
│ │ │ ├── PathChildrenCacheEvent.java
│ │ │ ├── PathChildrenCache.java
│ │ │ ├── PathChildrenCacheListener.java
│ │ │ ├── PathChildrenCacheMode.java
│ │ │ ├── RefreshOperation.java
│ │ │ ├── TreeCacheEvent.java
│ │ │ ├── TreeCache.java
│ │ │ ├── TreeCacheListener.java
│ │ │ └── TreeCacheSelector.java
│ │ ├── leader
│ │ │ ├── CancelLeadershipException.java
│ │ │ ├── LeaderLatch.java
│ │ │ ├── LeaderLatchListener.java
│ │ │ ├── LeaderSelector.java
│ │ │ ├── LeaderSelectorListenerAdapter.java
│ │ │ ├── LeaderSelectorListener.java
│ │ │ └── Participant.java
│ │ ├── locks
│ │ │ ├── ChildReaper.java
│ │ │ ├── InterProcessLock.java
│ │ │ ├── InterProcessMultiLock.java
│ │ │ ├── InterProcessMutex.java
│ │ │ ├── InterProcessReadWriteLock.java
│ │ │ ├── InterProcessSemaphore.java
│ │ │ ├── InterProcessSemaphoreMutex.java
│ │ │ ├── InterProcessSemaphoreV2.java
│ │ │ ├── Lease.java
│ │ │ ├── Locker.java
│ │ │ ├── LockInternalsDriver.java
│ │ │ ├── LockInternals.java
│ │ │ ├── LockInternalsSorter.java
│ │ │ ├── PredicateResults.java
│ │ │ ├── Reaper.java
│ │ │ ├── Revocable.java
│ │ │ ├── RevocationListener.java
│ │ │ ├── RevocationSpec.java
│ │ │ ├── Revoker.java
│ │ │ └── StandardLockInternalsDriver.java
│ │ ├── nodes
│ │ │ ├── GroupMember.java
│ │ │ ├── PersistentEphemeralNode.java
│ │ │ └── PersistentNode.java
│ │ ├── queue
│ │ │ ├── BlockingQueueConsumer.java
│ │ │ ├── ChildrenCache.java
│ │ │ ├── DistributedDelayQueue.java
│ │ │ ├── DistributedIdQueue.java
│ │ │ ├── DistributedPriorityQueue.java
│ │ │ ├── DistributedQueue.java
│ │ │ ├── ErrorMode.java
│ │ │ ├── ItemSerializer.java
│ │ │ ├── MultiItem.java
│ │ │ ├── QueueAllocator.java
│ │ │ ├── QueueBase.java
│ │ │ ├── QueueBuilder.java
│ │ │ ├── QueueConsumer.java
│ │ │ ├── QueuePutListener.java
│ │ │ ├── QueueSafety.java
│ │ │ ├── QueueSerializer.java
│ │ │ ├── QueueSharder.java
│ │ │ ├── QueueSharderPolicies.java
│ │ │ └── SimpleDistributedQueue.java
│ │ └── shared
│ │ ├── SharedCount.java
│ │ ├── SharedCountListener.java
│ │ ├── SharedCountReader.java
│ │ ├── SharedValue.java
│ │ ├── SharedValueListener.java
│ │ ├── SharedValueReader.java
│ │ └── VersionedValue.java
│ ├── site
│ │ ├── confluence
│ │ │ ├── barrier.confluence
│ │ │ ├── distributed-atomic-long.confluence
│ │ │ ├── distributed-delay-queue.confluence
│ │ │ ├── distributed-id-queue.confluence
│ │ │ ├── distributed-priority-queue.confluence
│ │ │ ├── distributed-queue.confluence
│ │ │ ├── double-barrier.confluence
│ │ │ ├── group-member.confluence
│ │ │ ├── index.confluence
│ │ │ ├── leader-election.confluence
│ │ │ ├── leader-latch.confluence
│ │ │ ├── multi-shared-lock.confluence
│ │ │ ├── node-cache.confluence
│ │ │ ├── path-cache.confluence
│ │ │ ├── persistent-ephemeral-node.confluence
│ │ │ ├── shared-counter.confluence
│ │ │ ├── shared-lock.confluence
│ │ │ ├── shared-reentrant-lock.confluence
│ │ │ ├── shared-reentrant-read-write-lock.confluence
│ │ │ ├── shared-semaphore.confluence
│ │ │ ├── simple-distributed-queue.confluence
│ │ │ └── tree-cache.confluence
│ │ └── site.xml
│ └── test
│ ├── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── framework
│ │ ├── client
│ │ │ ├── TestBackgroundStates.java
│ │ │ └── TestResetConnectionWithBackgroundFailure.java
│ │ └── recipes
│ │ ├── atomic
│ │ │ ├── TestCachedAtomicCounter.java
│ │ │ └── TestDistributedAtomicLong.java
│ │ ├── barriers
│ │ │ ├── TestDistributedBarrier.java
│ │ │ └── TestDistributedDoubleBarrier.java
│ │ ├── cache
│ │ │ ├── BaseTestTreeCache.java
│ │ │ ├── TestEventOrdering.java
│ │ │ ├── TestNodeCache.java
│ │ │ ├── TestPathChildrenCacheEventOrdering.java
│ │ │ ├── TestPathChildrenCacheInCluster.java
│ │ │ ├── TestPathChildrenCache.java
│ │ │ ├── TestTreeCacheEventOrdering.java
│ │ │ ├── TestTreeCache.java
│ │ │ └── TestTreeCacheRandomTree.java
│ │ ├── leader
│ │ │ ├── ChaosMonkeyCnxnFactory.java
│ │ │ ├── TestLeaderLatchCluster.java
│ │ │ ├── TestLeaderLatch.java
│ │ │ ├── TestLeaderSelectorCluster.java
│ │ │ ├── TestLeaderSelectorEdges.java
│ │ │ ├── TestLeaderSelector.java
│ │ │ ├── TestLeaderSelectorParticipants.java
│ │ │ └── TestLeaderSelectorWithExecutor.java
│ │ ├── locks
│ │ │ ├── Counter.java
│ │ │ ├── SemaphoreClient.java
│ │ │ ├── Stepper.java
│ │ │ ├── TestChildReaper.java
│ │ │ ├── TestInterProcessMultiMutex.java
│ │ │ ├── TestInterProcessMutexBase.java
│ │ │ ├── TestInterProcessMutex.java
│ │ │ ├── TestInterProcessReadWriteLock.java
│ │ │ ├── TestInterProcessSemaphoreCluster.java
│ │ │ ├── TestInterProcessSemaphore.java
│ │ │ ├── TestInterProcessSemaphoreMutex.java
│ │ │ ├── TestLockACLs.java
│ │ │ ├── TestLockCleanlinessWithFaults.java
│ │ │ └── TestReaper.java
│ │ ├── nodes
│ │ │ ├── TestGroupMember.java
│ │ │ ├── TestPersistentEphemeralNode.java
│ │ │ ├── TestPersistentEphemeralNodeListener.java
│ │ │ └── TestPersistentNode.java
│ │ ├── queue
│ │ │ ├── QueueItemSerializer.java
│ │ │ ├── QueueTestProducer.java
│ │ │ ├── TestBoundedDistributedQueue.java
│ │ │ ├── TestDistributedDelayQueue.java
│ │ │ ├── TestDistributedIdQueue.java
│ │ │ ├── TestDistributedPriorityQueue.java
│ │ │ ├── TestDistributedQueue.java
│ │ │ ├── TestQueueItem.java
│ │ │ ├── TestQueueSharder.java
│ │ │ └── TestSimpleDistributedQueue.java
│ │ └── shared
│ │ └── TestSharedCount.java
│ └── resources
│ └── log4j.properties
├── curator-test
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── test
│ │ ├── BaseClassForTests.java
│ │ ├── DelegatingExecutorService.java
│ │ ├── DirectoryUtils.java
│ │ ├── ExecuteCalledWatchingExecutorService.java
│ │ ├── InstanceSpec.java
│ │ ├── KillServerSession.java
│ │ ├── KillSession.java
│ │ ├── QuorumConfigBuilder.java
│ │ ├── ServerHelper.java
│ │ ├── TestingCluster.java
│ │ ├── TestingQuorumPeerMain.java
│ │ ├── TestingServer.java
│ │ ├── TestingZooKeeperMain.java
│ │ ├── TestingZooKeeperServer.java
│ │ ├── Timing.java
│ │ ├── WatchersDebug.java
│ │ └── ZooKeeperMainFace.java
│ └── site
│ ├── confluence
│ │ └── index.confluence
│ └── site.xml
├── curator-x-discovery
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── x
│ │ └── discovery
│ │ ├── details
│ │ │ ├── DownInstanceManager.java
│ │ │ ├── FilteredInstanceProvider.java
│ │ │ ├── InstanceProvider.java
│ │ │ ├── InstanceSerializer.java
│ │ │ ├── JsonInstanceSerializer.java
│ │ │ ├── Latch.java
│ │ │ ├── ServiceCacheBuilderImpl.java
│ │ │ ├── ServiceCacheImpl.java
│ │ │ ├── ServiceCacheListener.java
│ │ │ ├── ServiceDiscoveryImpl.java
│ │ │ ├── ServiceProviderBuilderImpl.java
│ │ │ └── ServiceProviderImpl.java
│ │ ├── DownInstancePolicy.java
│ │ ├── InstanceFilter.java
│ │ ├── LocalIpFilter.java
│ │ ├── ProviderStrategy.java
│ │ ├── ServiceCacheBuilder.java
│ │ ├── ServiceCache.java
│ │ ├── ServiceDiscoveryBuilder.java
│ │ ├── ServiceDiscovery.java
│ │ ├── ServiceInstanceBuilder.java
│ │ ├── ServiceInstance.java
│ │ ├── ServiceProviderBuilder.java
│ │ ├── ServiceProvider.java
│ │ ├── ServiceType.java
│ │ ├── strategies
│ │ │ ├── RandomStrategy.java
│ │ │ ├── RoundRobinStrategy.java
│ │ │ └── StickyStrategy.java
│ │ └── UriSpec.java
│ ├── site
│ │ ├── confluence
│ │ │ └── index.confluence
│ │ └── site.xml
│ └── test
│ ├── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── x
│ │ └── discovery
│ │ ├── details
│ │ │ ├── TestDownInstanceManager.java
│ │ │ ├── TestServiceDiscoveryBuilder.java
│ │ │ ├── TestServiceDiscovery.java
│ │ │ └── TestWatchedInstances.java
│ │ ├── ServiceCacheLeakTester.java
│ │ ├── TestJsonInstanceSerializer.java
│ │ ├── TestLocalIpFilter.java
│ │ ├── TestServiceCache.java
│ │ ├── TestStrategies.java
│ │ └── TestUriSpec.java
│ └── resources
│ └── log4j.properties
├── curator-x-discovery-server
│ ├── LICENSE
│ ├── NOTICE
│ ├── pom.xml
│ ├── README.txt
│ └── src
│ ├── main
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── x
│ │ └── discovery
│ │ └── server
│ │ ├── contexts
│ │ │ ├── GenericDiscoveryContext.java
│ │ │ ├── IntegerDiscoveryContext.java
│ │ │ ├── MapDiscoveryContext.java
│ │ │ └── StringDiscoveryContext.java
│ │ ├── entity
│ │ │ ├── JsonServiceInstanceMarshaller.java
│ │ │ ├── JsonServiceInstancesMarshaller.java
│ │ │ ├── JsonServiceNamesMarshaller.java
│ │ │ ├── ServiceInstances.java
│ │ │ └── ServiceNames.java
│ │ └── rest
│ │ ├── DiscoveryContext.java
│ │ ├── DiscoveryResource.java
│ │ └── InstanceCleanup.java
│ ├── site
│ │ ├── confluence
│ │ │ └── index.confluence
│ │ └── site.xml
│ └── test
│ ├── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ └── x
│ │ └── discovery
│ │ └── server
│ │ ├── jetty_jersey
│ │ │ ├── MapDiscoveryResource.java
│ │ │ ├── ServiceDetailsDiscoveryContext.java
│ │ │ ├── ServiceDetailsDiscoveryResource.java
│ │ │ ├── ServiceDetails.java
│ │ │ ├── StringDiscoveryResource.java
│ │ │ ├── TestMapsWithJersey.java
│ │ │ ├── TestObjectPayloadWithJersey.java
│ │ │ └── TestStringsWithJersey.java
│ │ ├── jetty_resteasy
│ │ │ ├── RestEasyApplication.java
│ │ │ ├── RestEasySingletons.java
│ │ │ ├── StringDiscoveryResource.java
│ │ │ └── TestStringsWithRestEasy.java
│ │ └── mocks
│ │ └── MockServiceDiscovery.java
│ └── resources
│ └── log4j.properties
├── curator-x-rpc
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── curator
│ │ │ └── x
│ │ │ └── rpc
│ │ │ ├── configuration
│ │ │ │ ├── AuthorizationConfiguration.java
│ │ │ │ ├── BoundedExponentialBackoffRetryConfiguration.java
│ │ │ │ ├── ConfigurationBuilder.java
│ │ │ │ ├── Configuration.java
│ │ │ │ ├── ConnectionConfiguration.java
│ │ │ │ ├── ExponentialBackoffRetryConfiguration.java
│ │ │ │ ├── RetryNTimesConfiguration.java
│ │ │ │ └── RetryPolicyConfiguration.java
│ │ │ ├── connections
│ │ │ │ ├── Closer.java
│ │ │ │ ├── ConnectionManager.java
│ │ │ │ └── CuratorEntry.java
│ │ │ ├── CuratorProjectionServer.java
│ │ │ ├── details
│ │ │ │ ├── RpcBackgroundCallback.java
│ │ │ │ └── RpcWatcher.java
│ │ │ └── idl
│ │ │ ├── discovery
│ │ │ │ ├── DiscoveryInstance.java
│ │ │ │ ├── DiscoveryInstanceType.java
│ │ │ │ ├── DiscoveryProjection.java
│ │ │ │ ├── DiscoveryProviderProjection.java
│ │ │ │ ├── DiscoveryService.java
│ │ │ │ ├── DiscoveryServiceLowLevel.java
│ │ │ │ └── ProviderStrategyType.java
│ │ │ ├── exceptions
│ │ │ │ ├── ExceptionType.java
│ │ │ │ ├── NodeExceptionType.java
│ │ │ │ ├── RpcException.java
│ │ │ │ └── ZooKeeperExceptionType.java
│ │ │ ├── services
│ │ │ │ ├── CuratorProjectionService.java
│ │ │ │ └── EventService.java
│ │ │ └── structs
│ │ │ ├── CreateSpec.java
│ │ │ ├── CuratorProjection.java
│ │ │ ├── DeleteSpec.java
│ │ │ ├── ExistsSpec.java
│ │ │ ├── GetChildrenSpec.java
│ │ │ ├── GetDataSpec.java
│ │ │ ├── LeaderEvent.java
│ │ │ ├── LeaderProjection.java
│ │ │ ├── LeaderResult.java
│ │ │ ├── LeaseProjection.java
│ │ │ ├── LockProjection.java
│ │ │ ├── NodeCacheProjection.java
│ │ │ ├── OptionalChildrenList.java
│ │ │ ├── OptionalData.java
│ │ │ ├── OptionalLockProjection.java
│ │ │ ├── OptionalPath.java
│ │ │ ├── OptionalRpcStat.java
│ │ │ ├── PathChildrenCacheProjection.java
│ │ │ ├── PathChildrenCacheStartMode.java
│ │ │ ├── PersistentEphemeralNodeProjection.java
│ │ │ ├── RpcAcl.java
│ │ │ ├── RpcChildData.java
│ │ │ ├── RpcCreateMode.java
│ │ │ ├── RpcCuratorEvent.java
│ │ │ ├── RpcCuratorEventType.java
│ │ │ ├── RpcEventType.java
│ │ │ ├── RpcId.java
│ │ │ ├── RpcKeeperState.java
│ │ │ ├── RpcParticipant.java
│ │ │ ├── RpcPathChildrenCacheEvent.java
│ │ │ ├── RpcPathChildrenCacheEventType.java
│ │ │ ├── RpcPersistentEphemeralNodeMode.java
│ │ │ ├── RpcStat.java
│ │ │ ├── RpcWatchedEvent.java
│ │ │ ├── SetDataSpec.java
│ │ │ └── Version.java
│ │ ├── resources
│ │ │ └── curator
│ │ │ └── help.txt
│ │ ├── scripts
│ │ │ ├── apply-thrift.sh
│ │ │ └── generate.sh
│ │ └── thrift
│ │ └── curator.thrift
│ ├── site
│ │ ├── confluence
│ │ │ ├── configuration.confluence
│ │ │ ├── deploy.confluence
│ │ │ ├── events.confluence
│ │ │ ├── index.confluence
│ │ │ ├── reference.confluence
│ │ │ └── usage.confluence
│ │ ├── resources
│ │ │ └── images
│ │ │ └── topology.png
│ │ └── site.xml
│ └── test
│ ├── java
│ │ └── org
│ │ └── apache
│ │ └── curator
│ │ ├── generated
│ │ │ ├── Acl.java
│ │ │ ├── ChildData.java
│ │ │ ├── CreateMode.java
│ │ │ ├── CreateSpec.java
│ │ │ ├── CuratorEvent.java
│ │ │ ├── CuratorEventType.java
│ │ │ ├── CuratorException.java
│ │ │ ├── CuratorProjection.java
│ │ │ ├── CuratorService.java
│ │ │ ├── DeleteSpec.java
│ │ │ ├── DiscoveryInstance.java
│ │ │ ├── DiscoveryInstanceType.java
│ │ │ ├── DiscoveryProjection.java
│ │ │ ├── DiscoveryProviderProjection.java
│ │ │ ├── DiscoveryService.java
│ │ │ ├── DiscoveryServiceLowLevel.java
│ │ │ ├── EventService.java
│ │ │ ├── EventType.java
│ │ │ ├── ExceptionType.java
│ │ │ ├── ExistsSpec.java
│ │ │ ├── GetChildrenSpec.java
│ │ │ ├── GetDataSpec.java
│ │ │ ├── Id.java
│ │ │ ├── KeeperState.java
│ │ │ ├── LeaderEvent.java
│ │ │ ├── LeaderProjection.java
│ │ │ ├── LeaderResult.java
│ │ │ ├── LeaseProjection.java
│ │ │ ├── LockProjection.java
│ │ │ ├── NodeCacheProjection.java
│ │ │ ├── NodeExceptionType.java
│ │ │ ├── OptionalChildrenList.java
│ │ │ ├── OptionalData.java
│ │ │ ├── OptionalLockProjection.java
│ │ │ ├── OptionalPath.java
│ │ │ ├── OptionalStat.java
│ │ │ ├── Participant.java
│ │ │ ├── PathChildrenCacheEvent.java
│ │ │ ├── PathChildrenCacheEventType.java
│ │ │ ├── PathChildrenCacheProjection.java
│ │ │ ├── PathChildrenCacheStartMode.java
│ │ │ ├── PersistentEphemeralNodeMode.java
│ │ │ ├── PersistentEphemeralNodeProjection.java
│ │ │ ├── ProviderStrategyType.java
│ │ │ ├── SetDataSpec.java
│ │ │ ├── Stat.java
│ │ │ ├── Version.java
│ │ │ ├── WatchedEvent.java
│ │ │ └── ZooKeeperExceptionType.java
│ │ └── x
│ │ └── rpc
│ │ ├── RpcTests.java
│ │ ├── TestClient.java
│ │ └── TestServer.java
│ └── resources
│ └── configuration
│ ├── connections.json
│ ├── logging.json
│ ├── simple.json
│ └── test.json
├── DEPENDENCIES
├── doap.rdf
├── LICENSE
├── NOTICE
├── pom.xml
├── README
└── src
├── etc
│ └── header.txt
└── site
├── confluence
│ ├── compatibility.confluence
│ ├── errors.confluence
│ ├── exhibitor.confluence
│ ├── getting-started.confluence
│ ├── index.confluence
│ ├── logging.confluence
│ └── utilities.confluence
├── resources
│ ├── css
│ │ └── site.css
│ └── images
│ ├── curator-logo.png
│ └── ph-quote.png
└── site.xml
199 directories, 682 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论