@celerispay/hazelcast-client 3.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -0
- package/CHANGELOG.md +116 -0
- package/CONFIG.md +503 -0
- package/FAILOVER_FIXES.md +284 -0
- package/LICENSE +202 -0
- package/QUICK_START.md +143 -0
- package/README.md +178 -0
- package/RELEASE_SUMMARY.md +180 -0
- package/config-schema.json +343 -0
- package/hazelcast-client-default.json +56 -0
- package/hazelcast-client-full.json +137 -0
- package/lib/Address.d.ts +17 -0
- package/lib/Address.js +65 -0
- package/lib/BitsUtil.d.ts +69 -0
- package/lib/BitsUtil.js +202 -0
- package/lib/BuildInfo.d.ts +9 -0
- package/lib/BuildInfo.js +53 -0
- package/lib/ClientInfo.d.ts +15 -0
- package/lib/ClientInfo.js +27 -0
- package/lib/ClientMessage.d.ts +52 -0
- package/lib/ClientMessage.js +217 -0
- package/lib/ClusterDataFactory.d.ts +4 -0
- package/lib/ClusterDataFactory.js +31 -0
- package/lib/ClusterDataFactoryHelper.d.ts +5 -0
- package/lib/ClusterDataFactoryHelper.js +26 -0
- package/lib/DataStoreHashMap.d.ts +20 -0
- package/lib/DataStoreHashMap.js +112 -0
- package/lib/DistributedObject.d.ts +22 -0
- package/lib/DistributedObject.js +17 -0
- package/lib/HazelcastClient.d.ts +201 -0
- package/lib/HazelcastClient.js +370 -0
- package/lib/HazelcastError.d.ts +114 -0
- package/lib/HazelcastError.js +389 -0
- package/lib/HeartbeatService.d.ts +30 -0
- package/lib/HeartbeatService.js +108 -0
- package/lib/LifecycleService.d.ts +32 -0
- package/lib/LifecycleService.js +105 -0
- package/lib/ListenerMessageCodec.d.ts +6 -0
- package/lib/ListenerMessageCodec.js +17 -0
- package/lib/ListenerService.d.ts +35 -0
- package/lib/ListenerService.js +233 -0
- package/lib/LockReferenceIdGenerator.d.ts +6 -0
- package/lib/LockReferenceIdGenerator.js +29 -0
- package/lib/PartitionService.d.ts +38 -0
- package/lib/PartitionService.js +118 -0
- package/lib/Util.d.ts +47 -0
- package/lib/Util.js +351 -0
- package/lib/aggregation/Aggregator.d.ts +74 -0
- package/lib/aggregation/Aggregator.js +277 -0
- package/lib/aggregation/AggregatorFactory.d.ts +26 -0
- package/lib/aggregation/AggregatorFactory.js +66 -0
- package/lib/aggregation/Aggregators.d.ts +96 -0
- package/lib/aggregation/Aggregators.js +149 -0
- package/lib/codec/AddressCodec.d.ts +6 -0
- package/lib/codec/AddressCodec.js +33 -0
- package/lib/codec/AtomicLongAddAndGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongAddAndGetCodec.js +56 -0
- package/lib/codec/AtomicLongCompareAndSetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongCompareAndSetCodec.js +58 -0
- package/lib/codec/AtomicLongDecrementAndGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongDecrementAndGetCodec.js +54 -0
- package/lib/codec/AtomicLongGetAndAddCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetAndAddCodec.js +56 -0
- package/lib/codec/AtomicLongGetAndIncrementCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetAndIncrementCodec.js +54 -0
- package/lib/codec/AtomicLongGetAndSetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetAndSetCodec.js +56 -0
- package/lib/codec/AtomicLongGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetCodec.js +54 -0
- package/lib/codec/AtomicLongIncrementAndGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongIncrementAndGetCodec.js +54 -0
- package/lib/codec/AtomicLongMessageType.d.ts +15 -0
- package/lib/codec/AtomicLongMessageType.js +37 -0
- package/lib/codec/AtomicLongSetCodec.d.ts +5 -0
- package/lib/codec/AtomicLongSetCodec.js +47 -0
- package/lib/codec/ClientAddDistributedObjectListenerCodec.d.ts +8 -0
- package/lib/codec/ClientAddDistributedObjectListenerCodec.js +74 -0
- package/lib/codec/ClientAddMembershipListenerCodec.d.ts +8 -0
- package/lib/codec/ClientAddMembershipListenerCodec.js +107 -0
- package/lib/codec/ClientAuthenticationCodec.d.ts +7 -0
- package/lib/codec/ClientAuthenticationCodec.js +114 -0
- package/lib/codec/ClientAuthenticationCustomCodec.d.ts +7 -0
- package/lib/codec/ClientAuthenticationCustomCodec.js +112 -0
- package/lib/codec/ClientCreateProxyCodec.d.ts +6 -0
- package/lib/codec/ClientCreateProxyCodec.js +50 -0
- package/lib/codec/ClientDestroyProxyCodec.d.ts +5 -0
- package/lib/codec/ClientDestroyProxyCodec.js +47 -0
- package/lib/codec/ClientGetDistributedObjectsCodec.d.ts +7 -0
- package/lib/codec/ClientGetDistributedObjectsCodec.js +59 -0
- package/lib/codec/ClientMessageType.d.ts +18 -0
- package/lib/codec/ClientMessageType.js +40 -0
- package/lib/codec/ClientPingCodec.d.ts +5 -0
- package/lib/codec/ClientPingCodec.js +42 -0
- package/lib/codec/ClientRemoveDistributedObjectListenerCodec.d.ts +7 -0
- package/lib/codec/ClientRemoveDistributedObjectListenerCodec.js +54 -0
- package/lib/codec/ClientStatisticsCodec.d.ts +5 -0
- package/lib/codec/ClientStatisticsCodec.js +42 -0
- package/lib/codec/DistributedObjectInfoCodec.d.ts +5 -0
- package/lib/codec/DistributedObjectInfoCodec.js +27 -0
- package/lib/codec/EntryViewCodec.d.ts +7 -0
- package/lib/codec/EntryViewCodec.js +56 -0
- package/lib/codec/FlakeIdGeneratorMessageType.d.ts +3 -0
- package/lib/codec/FlakeIdGeneratorMessageType.js +25 -0
- package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.d.ts +7 -0
- package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.js +60 -0
- package/lib/codec/GetPartitionsCodec.d.ts +9 -0
- package/lib/codec/GetPartitionsCodec.js +45 -0
- package/lib/codec/ListAddAllCodec.d.ts +7 -0
- package/lib/codec/ListAddAllCodec.js +62 -0
- package/lib/codec/ListAddAllWithIndexCodec.d.ts +7 -0
- package/lib/codec/ListAddAllWithIndexCodec.js +64 -0
- package/lib/codec/ListAddCodec.d.ts +7 -0
- package/lib/codec/ListAddCodec.js +56 -0
- package/lib/codec/ListAddListenerCodec.d.ts +8 -0
- package/lib/codec/ListAddListenerCodec.js +80 -0
- package/lib/codec/ListAddWithIndexCodec.d.ts +6 -0
- package/lib/codec/ListAddWithIndexCodec.js +49 -0
- package/lib/codec/ListClearCodec.d.ts +5 -0
- package/lib/codec/ListClearCodec.js +45 -0
- package/lib/codec/ListCompareAndRemoveAllCodec.d.ts +7 -0
- package/lib/codec/ListCompareAndRemoveAllCodec.js +62 -0
- package/lib/codec/ListCompareAndRetainAllCodec.d.ts +7 -0
- package/lib/codec/ListCompareAndRetainAllCodec.js +62 -0
- package/lib/codec/ListContainsAllCodec.d.ts +7 -0
- package/lib/codec/ListContainsAllCodec.js +62 -0
- package/lib/codec/ListContainsCodec.d.ts +7 -0
- package/lib/codec/ListContainsCodec.js +56 -0
- package/lib/codec/ListGetAllCodec.d.ts +7 -0
- package/lib/codec/ListGetAllCodec.js +61 -0
- package/lib/codec/ListGetCodec.d.ts +7 -0
- package/lib/codec/ListGetCodec.js +58 -0
- package/lib/codec/ListIndexOfCodec.d.ts +7 -0
- package/lib/codec/ListIndexOfCodec.js +56 -0
- package/lib/codec/ListIsEmptyCodec.d.ts +7 -0
- package/lib/codec/ListIsEmptyCodec.js +54 -0
- package/lib/codec/ListLastIndexOfCodec.d.ts +7 -0
- package/lib/codec/ListLastIndexOfCodec.js +56 -0
- package/lib/codec/ListMessageType.d.ts +25 -0
- package/lib/codec/ListMessageType.js +47 -0
- package/lib/codec/ListRemoveCodec.d.ts +7 -0
- package/lib/codec/ListRemoveCodec.js +56 -0
- package/lib/codec/ListRemoveListenerCodec.d.ts +7 -0
- package/lib/codec/ListRemoveListenerCodec.js +56 -0
- package/lib/codec/ListRemoveWithIndexCodec.d.ts +7 -0
- package/lib/codec/ListRemoveWithIndexCodec.js +58 -0
- package/lib/codec/ListSetCodec.d.ts +7 -0
- package/lib/codec/ListSetCodec.js +60 -0
- package/lib/codec/ListSizeCodec.d.ts +7 -0
- package/lib/codec/ListSizeCodec.js +54 -0
- package/lib/codec/ListSubCodec.d.ts +7 -0
- package/lib/codec/ListSubCodec.js +65 -0
- package/lib/codec/LockForceUnlockCodec.d.ts +5 -0
- package/lib/codec/LockForceUnlockCodec.js +47 -0
- package/lib/codec/LockGetLockCountCodec.d.ts +7 -0
- package/lib/codec/LockGetLockCountCodec.js +54 -0
- package/lib/codec/LockGetRemainingLeaseTimeCodec.d.ts +7 -0
- package/lib/codec/LockGetRemainingLeaseTimeCodec.js +54 -0
- package/lib/codec/LockIsLockedByCurrentThreadCodec.d.ts +7 -0
- package/lib/codec/LockIsLockedByCurrentThreadCodec.js +56 -0
- package/lib/codec/LockIsLockedCodec.d.ts +7 -0
- package/lib/codec/LockIsLockedCodec.js +54 -0
- package/lib/codec/LockLockCodec.d.ts +5 -0
- package/lib/codec/LockLockCodec.js +51 -0
- package/lib/codec/LockMessageType.d.ts +10 -0
- package/lib/codec/LockMessageType.js +32 -0
- package/lib/codec/LockTryLockCodec.d.ts +7 -0
- package/lib/codec/LockTryLockCodec.js +62 -0
- package/lib/codec/LockUnlockCodec.d.ts +5 -0
- package/lib/codec/LockUnlockCodec.js +49 -0
- package/lib/codec/MapAddEntryListenerCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerCodec.js +104 -0
- package/lib/codec/MapAddEntryListenerToKeyCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerToKeyCodec.js +106 -0
- package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.js +108 -0
- package/lib/codec/MapAddEntryListenerWithPredicateCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerWithPredicateCodec.js +106 -0
- package/lib/codec/MapAddIndexCodec.d.ts +5 -0
- package/lib/codec/MapAddIndexCodec.js +49 -0
- package/lib/codec/MapAddNearCacheEntryListenerCodec.d.ts +8 -0
- package/lib/codec/MapAddNearCacheEntryListenerCodec.js +135 -0
- package/lib/codec/MapAddNearCacheInvalidationListenerCodec.d.ts +8 -0
- package/lib/codec/MapAddNearCacheInvalidationListenerCodec.js +138 -0
- package/lib/codec/MapAggregateCodec.d.ts +7 -0
- package/lib/codec/MapAggregateCodec.js +61 -0
- package/lib/codec/MapAggregateWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapAggregateWithPredicateCodec.js +63 -0
- package/lib/codec/MapClearCodec.d.ts +5 -0
- package/lib/codec/MapClearCodec.js +45 -0
- package/lib/codec/MapContainsKeyCodec.d.ts +7 -0
- package/lib/codec/MapContainsKeyCodec.js +58 -0
- package/lib/codec/MapContainsValueCodec.d.ts +7 -0
- package/lib/codec/MapContainsValueCodec.js +56 -0
- package/lib/codec/MapDeleteCodec.d.ts +6 -0
- package/lib/codec/MapDeleteCodec.js +49 -0
- package/lib/codec/MapEntriesWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapEntriesWithPredicateCodec.js +67 -0
- package/lib/codec/MapEntrySetCodec.d.ts +7 -0
- package/lib/codec/MapEntrySetCodec.js +65 -0
- package/lib/codec/MapEvictAllCodec.d.ts +5 -0
- package/lib/codec/MapEvictAllCodec.js +45 -0
- package/lib/codec/MapEvictCodec.d.ts +7 -0
- package/lib/codec/MapEvictCodec.js +58 -0
- package/lib/codec/MapExecuteOnAllKeysCodec.d.ts +7 -0
- package/lib/codec/MapExecuteOnAllKeysCodec.js +67 -0
- package/lib/codec/MapExecuteOnKeyCodec.d.ts +7 -0
- package/lib/codec/MapExecuteOnKeyCodec.js +62 -0
- package/lib/codec/MapExecuteOnKeysCodec.d.ts +7 -0
- package/lib/codec/MapExecuteOnKeysCodec.js +75 -0
- package/lib/codec/MapExecuteWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapExecuteWithPredicateCodec.js +69 -0
- package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.d.ts +8 -0
- package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.js +101 -0
- package/lib/codec/MapFlushCodec.d.ts +5 -0
- package/lib/codec/MapFlushCodec.js +45 -0
- package/lib/codec/MapForceUnlockCodec.d.ts +6 -0
- package/lib/codec/MapForceUnlockCodec.js +49 -0
- package/lib/codec/MapGetAllCodec.d.ts +7 -0
- package/lib/codec/MapGetAllCodec.js +73 -0
- package/lib/codec/MapGetCodec.d.ts +7 -0
- package/lib/codec/MapGetCodec.js +60 -0
- package/lib/codec/MapGetEntryViewCodec.d.ts +7 -0
- package/lib/codec/MapGetEntryViewCodec.js +61 -0
- package/lib/codec/MapIsEmptyCodec.d.ts +7 -0
- package/lib/codec/MapIsEmptyCodec.js +54 -0
- package/lib/codec/MapIsLockedCodec.d.ts +7 -0
- package/lib/codec/MapIsLockedCodec.js +56 -0
- package/lib/codec/MapKeySetCodec.d.ts +7 -0
- package/lib/codec/MapKeySetCodec.js +61 -0
- package/lib/codec/MapKeySetWithPagingPredicateCodec.d.ts +7 -0
- package/lib/codec/MapKeySetWithPagingPredicateCodec.js +63 -0
- package/lib/codec/MapKeySetWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapKeySetWithPredicateCodec.js +63 -0
- package/lib/codec/MapLoadAllCodec.d.ts +5 -0
- package/lib/codec/MapLoadAllCodec.js +47 -0
- package/lib/codec/MapLoadGivenKeysCodec.d.ts +5 -0
- package/lib/codec/MapLoadGivenKeysCodec.js +55 -0
- package/lib/codec/MapLockCodec.d.ts +6 -0
- package/lib/codec/MapLockCodec.js +53 -0
- package/lib/codec/MapMessageType.d.ts +71 -0
- package/lib/codec/MapMessageType.js +93 -0
- package/lib/codec/MapPutAllCodec.d.ts +5 -0
- package/lib/codec/MapPutAllCodec.js +59 -0
- package/lib/codec/MapPutCodec.d.ts +7 -0
- package/lib/codec/MapPutCodec.js +64 -0
- package/lib/codec/MapPutIfAbsentCodec.d.ts +7 -0
- package/lib/codec/MapPutIfAbsentCodec.js +64 -0
- package/lib/codec/MapPutTransientCodec.d.ts +6 -0
- package/lib/codec/MapPutTransientCodec.js +53 -0
- package/lib/codec/MapRemoveCodec.d.ts +7 -0
- package/lib/codec/MapRemoveCodec.js +60 -0
- package/lib/codec/MapRemoveEntryListenerCodec.d.ts +7 -0
- package/lib/codec/MapRemoveEntryListenerCodec.js +56 -0
- package/lib/codec/MapRemoveIfSameCodec.d.ts +7 -0
- package/lib/codec/MapRemoveIfSameCodec.js +60 -0
- package/lib/codec/MapReplaceCodec.d.ts +7 -0
- package/lib/codec/MapReplaceCodec.js +62 -0
- package/lib/codec/MapReplaceIfSameCodec.d.ts +7 -0
- package/lib/codec/MapReplaceIfSameCodec.js +62 -0
- package/lib/codec/MapSetCodec.d.ts +6 -0
- package/lib/codec/MapSetCodec.js +53 -0
- package/lib/codec/MapSizeCodec.d.ts +7 -0
- package/lib/codec/MapSizeCodec.js +54 -0
- package/lib/codec/MapTryLockCodec.d.ts +7 -0
- package/lib/codec/MapTryLockCodec.js +64 -0
- package/lib/codec/MapTryPutCodec.d.ts +7 -0
- package/lib/codec/MapTryPutCodec.js +62 -0
- package/lib/codec/MapTryRemoveCodec.d.ts +7 -0
- package/lib/codec/MapTryRemoveCodec.js +60 -0
- package/lib/codec/MapUnlockCodec.d.ts +6 -0
- package/lib/codec/MapUnlockCodec.js +51 -0
- package/lib/codec/MapValuesCodec.d.ts +7 -0
- package/lib/codec/MapValuesCodec.js +61 -0
- package/lib/codec/MapValuesWithPagingPredicateCodec.d.ts +7 -0
- package/lib/codec/MapValuesWithPagingPredicateCodec.js +67 -0
- package/lib/codec/MapValuesWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapValuesWithPredicateCodec.js +63 -0
- package/lib/codec/MemberCodec.d.ts +6 -0
- package/lib/codec/MemberCodec.js +49 -0
- package/lib/codec/MultiMapAddEntryListenerCodec.d.ts +8 -0
- package/lib/codec/MultiMapAddEntryListenerCodec.js +102 -0
- package/lib/codec/MultiMapAddEntryListenerToKeyCodec.d.ts +8 -0
- package/lib/codec/MultiMapAddEntryListenerToKeyCodec.js +104 -0
- package/lib/codec/MultiMapClearCodec.d.ts +5 -0
- package/lib/codec/MultiMapClearCodec.js +45 -0
- package/lib/codec/MultiMapContainsEntryCodec.d.ts +7 -0
- package/lib/codec/MultiMapContainsEntryCodec.js +60 -0
- package/lib/codec/MultiMapContainsKeyCodec.d.ts +7 -0
- package/lib/codec/MultiMapContainsKeyCodec.js +58 -0
- package/lib/codec/MultiMapContainsValueCodec.d.ts +7 -0
- package/lib/codec/MultiMapContainsValueCodec.js +56 -0
- package/lib/codec/MultiMapEntrySetCodec.d.ts +7 -0
- package/lib/codec/MultiMapEntrySetCodec.js +65 -0
- package/lib/codec/MultiMapForceUnlockCodec.d.ts +6 -0
- package/lib/codec/MultiMapForceUnlockCodec.js +49 -0
- package/lib/codec/MultiMapGetCodec.d.ts +7 -0
- package/lib/codec/MultiMapGetCodec.js +65 -0
- package/lib/codec/MultiMapIsLockedCodec.d.ts +7 -0
- package/lib/codec/MultiMapIsLockedCodec.js +56 -0
- package/lib/codec/MultiMapKeySetCodec.d.ts +7 -0
- package/lib/codec/MultiMapKeySetCodec.js +61 -0
- package/lib/codec/MultiMapLockCodec.d.ts +6 -0
- package/lib/codec/MultiMapLockCodec.js +53 -0
- package/lib/codec/MultiMapMessageType.d.ts +23 -0
- package/lib/codec/MultiMapMessageType.js +45 -0
- package/lib/codec/MultiMapPutCodec.d.ts +7 -0
- package/lib/codec/MultiMapPutCodec.js +60 -0
- package/lib/codec/MultiMapRemoveCodec.d.ts +7 -0
- package/lib/codec/MultiMapRemoveCodec.js +65 -0
- package/lib/codec/MultiMapRemoveEntryCodec.d.ts +7 -0
- package/lib/codec/MultiMapRemoveEntryCodec.js +60 -0
- package/lib/codec/MultiMapRemoveEntryListenerCodec.d.ts +7 -0
- package/lib/codec/MultiMapRemoveEntryListenerCodec.js +56 -0
- package/lib/codec/MultiMapSizeCodec.d.ts +7 -0
- package/lib/codec/MultiMapSizeCodec.js +54 -0
- package/lib/codec/MultiMapTryLockCodec.d.ts +7 -0
- package/lib/codec/MultiMapTryLockCodec.js +64 -0
- package/lib/codec/MultiMapUnlockCodec.d.ts +6 -0
- package/lib/codec/MultiMapUnlockCodec.js +51 -0
- package/lib/codec/MultiMapValueCountCodec.d.ts +7 -0
- package/lib/codec/MultiMapValueCountCodec.js +58 -0
- package/lib/codec/MultiMapValuesCodec.d.ts +7 -0
- package/lib/codec/MultiMapValuesCodec.js +61 -0
- package/lib/codec/PNCounterAddCodec.d.ts +8 -0
- package/lib/codec/PNCounterAddCodec.js +90 -0
- package/lib/codec/PNCounterGetCodec.d.ts +8 -0
- package/lib/codec/PNCounterGetCodec.js +86 -0
- package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.d.ts +7 -0
- package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.js +54 -0
- package/lib/codec/PNCounterMessageType.d.ts +5 -0
- package/lib/codec/PNCounterMessageType.js +27 -0
- package/lib/codec/QueueAddAllCodec.d.ts +7 -0
- package/lib/codec/QueueAddAllCodec.js +62 -0
- package/lib/codec/QueueAddListenerCodec.d.ts +8 -0
- package/lib/codec/QueueAddListenerCodec.js +80 -0
- package/lib/codec/QueueClearCodec.d.ts +5 -0
- package/lib/codec/QueueClearCodec.js +45 -0
- package/lib/codec/QueueCompareAndRemoveAllCodec.d.ts +7 -0
- package/lib/codec/QueueCompareAndRemoveAllCodec.js +62 -0
- package/lib/codec/QueueCompareAndRetainAllCodec.d.ts +7 -0
- package/lib/codec/QueueCompareAndRetainAllCodec.js +62 -0
- package/lib/codec/QueueContainsAllCodec.d.ts +7 -0
- package/lib/codec/QueueContainsAllCodec.js +62 -0
- package/lib/codec/QueueContainsCodec.d.ts +7 -0
- package/lib/codec/QueueContainsCodec.js +56 -0
- package/lib/codec/QueueDrainToCodec.d.ts +7 -0
- package/lib/codec/QueueDrainToCodec.js +61 -0
- package/lib/codec/QueueDrainToMaxSizeCodec.d.ts +7 -0
- package/lib/codec/QueueDrainToMaxSizeCodec.js +63 -0
- package/lib/codec/QueueIsEmptyCodec.d.ts +7 -0
- package/lib/codec/QueueIsEmptyCodec.js +54 -0
- package/lib/codec/QueueIteratorCodec.d.ts +7 -0
- package/lib/codec/QueueIteratorCodec.js +61 -0
- package/lib/codec/QueueMessageType.d.ts +22 -0
- package/lib/codec/QueueMessageType.js +44 -0
- package/lib/codec/QueueOfferCodec.d.ts +7 -0
- package/lib/codec/QueueOfferCodec.js +58 -0
- package/lib/codec/QueuePeekCodec.d.ts +7 -0
- package/lib/codec/QueuePeekCodec.js +56 -0
- package/lib/codec/QueuePollCodec.d.ts +7 -0
- package/lib/codec/QueuePollCodec.js +58 -0
- package/lib/codec/QueuePutCodec.d.ts +6 -0
- package/lib/codec/QueuePutCodec.js +47 -0
- package/lib/codec/QueueRemainingCapacityCodec.d.ts +7 -0
- package/lib/codec/QueueRemainingCapacityCodec.js +54 -0
- package/lib/codec/QueueRemoveCodec.d.ts +7 -0
- package/lib/codec/QueueRemoveCodec.js +56 -0
- package/lib/codec/QueueRemoveListenerCodec.d.ts +7 -0
- package/lib/codec/QueueRemoveListenerCodec.js +56 -0
- package/lib/codec/QueueSizeCodec.d.ts +7 -0
- package/lib/codec/QueueSizeCodec.js +54 -0
- package/lib/codec/QueueTakeCodec.d.ts +7 -0
- package/lib/codec/QueueTakeCodec.js +56 -0
- package/lib/codec/ReplicatedMapAddEntryListenerCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerCodec.js +100 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.js +102 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.js +104 -0
- package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.js +102 -0
- package/lib/codec/ReplicatedMapClearCodec.d.ts +5 -0
- package/lib/codec/ReplicatedMapClearCodec.js +45 -0
- package/lib/codec/ReplicatedMapContainsKeyCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapContainsKeyCodec.js +56 -0
- package/lib/codec/ReplicatedMapContainsValueCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapContainsValueCodec.js +56 -0
- package/lib/codec/ReplicatedMapEntrySetCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapEntrySetCodec.js +65 -0
- package/lib/codec/ReplicatedMapGetCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapGetCodec.js +58 -0
- package/lib/codec/ReplicatedMapIsEmptyCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapIsEmptyCodec.js +54 -0
- package/lib/codec/ReplicatedMapKeySetCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapKeySetCodec.js +61 -0
- package/lib/codec/ReplicatedMapMessageType.d.ts +20 -0
- package/lib/codec/ReplicatedMapMessageType.js +42 -0
- package/lib/codec/ReplicatedMapPutAllCodec.d.ts +5 -0
- package/lib/codec/ReplicatedMapPutAllCodec.js +59 -0
- package/lib/codec/ReplicatedMapPutCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapPutCodec.js +62 -0
- package/lib/codec/ReplicatedMapRemoveCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapRemoveCodec.js +58 -0
- package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.js +56 -0
- package/lib/codec/ReplicatedMapSizeCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapSizeCodec.js +54 -0
- package/lib/codec/ReplicatedMapValuesCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapValuesCodec.js +61 -0
- package/lib/codec/RingbufferAddAllCodec.d.ts +7 -0
- package/lib/codec/RingbufferAddAllCodec.js +64 -0
- package/lib/codec/RingbufferAddCodec.d.ts +7 -0
- package/lib/codec/RingbufferAddCodec.js +58 -0
- package/lib/codec/RingbufferCapacityCodec.d.ts +7 -0
- package/lib/codec/RingbufferCapacityCodec.js +54 -0
- package/lib/codec/RingbufferHeadSequenceCodec.d.ts +7 -0
- package/lib/codec/RingbufferHeadSequenceCodec.js +54 -0
- package/lib/codec/RingbufferMessageType.d.ts +11 -0
- package/lib/codec/RingbufferMessageType.js +33 -0
- package/lib/codec/RingbufferReadManyCodec.d.ts +7 -0
- package/lib/codec/RingbufferReadManyCodec.js +92 -0
- package/lib/codec/RingbufferReadOneCodec.d.ts +7 -0
- package/lib/codec/RingbufferReadOneCodec.js +58 -0
- package/lib/codec/RingbufferRemainingCapacityCodec.d.ts +7 -0
- package/lib/codec/RingbufferRemainingCapacityCodec.js +54 -0
- package/lib/codec/RingbufferSizeCodec.d.ts +7 -0
- package/lib/codec/RingbufferSizeCodec.js +54 -0
- package/lib/codec/RingbufferTailSequenceCodec.d.ts +7 -0
- package/lib/codec/RingbufferTailSequenceCodec.js +54 -0
- package/lib/codec/SemaphoreAcquireCodec.d.ts +5 -0
- package/lib/codec/SemaphoreAcquireCodec.js +47 -0
- package/lib/codec/SemaphoreAvailablePermitsCodec.d.ts +7 -0
- package/lib/codec/SemaphoreAvailablePermitsCodec.js +54 -0
- package/lib/codec/SemaphoreDrainPermitsCodec.d.ts +7 -0
- package/lib/codec/SemaphoreDrainPermitsCodec.js +54 -0
- package/lib/codec/SemaphoreInitCodec.d.ts +7 -0
- package/lib/codec/SemaphoreInitCodec.js +56 -0
- package/lib/codec/SemaphoreMessageType.d.ts +9 -0
- package/lib/codec/SemaphoreMessageType.js +31 -0
- package/lib/codec/SemaphoreReducePermitsCodec.d.ts +5 -0
- package/lib/codec/SemaphoreReducePermitsCodec.js +47 -0
- package/lib/codec/SemaphoreReleaseCodec.d.ts +5 -0
- package/lib/codec/SemaphoreReleaseCodec.js +47 -0
- package/lib/codec/SemaphoreTryAcquireCodec.d.ts +7 -0
- package/lib/codec/SemaphoreTryAcquireCodec.js +58 -0
- package/lib/codec/SetAddAllCodec.d.ts +7 -0
- package/lib/codec/SetAddAllCodec.js +62 -0
- package/lib/codec/SetAddCodec.d.ts +7 -0
- package/lib/codec/SetAddCodec.js +56 -0
- package/lib/codec/SetAddListenerCodec.d.ts +8 -0
- package/lib/codec/SetAddListenerCodec.js +80 -0
- package/lib/codec/SetClearCodec.d.ts +5 -0
- package/lib/codec/SetClearCodec.js +45 -0
- package/lib/codec/SetCompareAndRemoveAllCodec.d.ts +7 -0
- package/lib/codec/SetCompareAndRemoveAllCodec.js +62 -0
- package/lib/codec/SetCompareAndRetainAllCodec.d.ts +7 -0
- package/lib/codec/SetCompareAndRetainAllCodec.js +62 -0
- package/lib/codec/SetContainsAllCodec.d.ts +7 -0
- package/lib/codec/SetContainsAllCodec.js +62 -0
- package/lib/codec/SetContainsCodec.d.ts +7 -0
- package/lib/codec/SetContainsCodec.js +56 -0
- package/lib/codec/SetGetAllCodec.d.ts +7 -0
- package/lib/codec/SetGetAllCodec.js +61 -0
- package/lib/codec/SetIsEmptyCodec.d.ts +7 -0
- package/lib/codec/SetIsEmptyCodec.js +54 -0
- package/lib/codec/SetMessageType.d.ts +15 -0
- package/lib/codec/SetMessageType.js +37 -0
- package/lib/codec/SetRemoveCodec.d.ts +7 -0
- package/lib/codec/SetRemoveCodec.js +56 -0
- package/lib/codec/SetRemoveListenerCodec.d.ts +7 -0
- package/lib/codec/SetRemoveListenerCodec.js +56 -0
- package/lib/codec/SetSizeCodec.d.ts +7 -0
- package/lib/codec/SetSizeCodec.js +54 -0
- package/lib/codec/UUIDCodec.d.ts +5 -0
- package/lib/codec/UUIDCodec.js +29 -0
- package/lib/config/ClientCloudConfig.d.ts +13 -0
- package/lib/config/ClientCloudConfig.js +34 -0
- package/lib/config/ClientNetworkConfig.d.ts +43 -0
- package/lib/config/ClientNetworkConfig.js +64 -0
- package/lib/config/Config.d.ts +61 -0
- package/lib/config/Config.js +138 -0
- package/lib/config/ConfigBuilder.d.ts +26 -0
- package/lib/config/ConfigBuilder.js +322 -0
- package/lib/config/ConfigPatternMatcher.d.ts +12 -0
- package/lib/config/ConfigPatternMatcher.js +70 -0
- package/lib/config/EvictionPolicy.d.ts +9 -0
- package/lib/config/EvictionPolicy.js +27 -0
- package/lib/config/FlakeIdGeneratorConfig.d.ts +26 -0
- package/lib/config/FlakeIdGeneratorConfig.js +56 -0
- package/lib/config/GroupConfig.d.ts +14 -0
- package/lib/config/GroupConfig.js +35 -0
- package/lib/config/ImportConfig.d.ts +4 -0
- package/lib/config/ImportConfig.js +17 -0
- package/lib/config/InMemoryFormat.d.ts +10 -0
- package/lib/config/InMemoryFormat.js +28 -0
- package/lib/config/JsonConfigLocator.d.ts +16 -0
- package/lib/config/JsonConfigLocator.js +103 -0
- package/lib/config/JsonStringDeserializationPolicy.d.ts +17 -0
- package/lib/config/JsonStringDeserializationPolicy.js +35 -0
- package/lib/config/ListenerConfig.d.ts +8 -0
- package/lib/config/ListenerConfig.js +33 -0
- package/lib/config/NearCacheConfig.d.ts +25 -0
- package/lib/config/NearCacheConfig.js +59 -0
- package/lib/config/Properties.d.ts +5 -0
- package/lib/config/Properties.js +17 -0
- package/lib/config/ReliableTopicConfig.d.ts +8 -0
- package/lib/config/ReliableTopicConfig.js +38 -0
- package/lib/config/SSLConfig.d.ts +34 -0
- package/lib/config/SSLConfig.js +51 -0
- package/lib/config/SerializationConfig.d.ts +29 -0
- package/lib/config/SerializationConfig.js +38 -0
- package/lib/config/StringSerializationPolicy.d.ts +22 -0
- package/lib/config/StringSerializationPolicy.js +40 -0
- package/lib/connection/AddressProvider.d.ts +11 -0
- package/lib/connection/AddressProvider.js +17 -0
- package/lib/connection/AddressTranslator.d.ts +21 -0
- package/lib/connection/AddressTranslator.js +17 -0
- package/lib/connection/BasicSSLOptionsFactory.d.ts +14 -0
- package/lib/connection/BasicSSLOptionsFactory.js +67 -0
- package/lib/connection/DefaultAddressProvider.d.ts +15 -0
- package/lib/connection/DefaultAddressProvider.js +38 -0
- package/lib/connection/DefaultAddressTranslator.d.ts +11 -0
- package/lib/connection/DefaultAddressTranslator.js +33 -0
- package/lib/connection/SSLOptionsFactory.d.ts +7 -0
- package/lib/connection/SSLOptionsFactory.js +17 -0
- package/lib/core/Comparator.d.ts +21 -0
- package/lib/core/Comparator.js +17 -0
- package/lib/core/ConnectionHeartbeatListener.d.ts +16 -0
- package/lib/core/ConnectionHeartbeatListener.js +17 -0
- package/lib/core/DistributedObjectListener.d.ts +24 -0
- package/lib/core/DistributedObjectListener.js +30 -0
- package/lib/core/EntryListener.d.ts +51 -0
- package/lib/core/EntryListener.js +32 -0
- package/lib/core/EntryView.d.ts +16 -0
- package/lib/core/EntryView.js +23 -0
- package/lib/core/EventType.d.ts +12 -0
- package/lib/core/EventType.js +31 -0
- package/lib/core/HazelcastJsonValue.d.ts +32 -0
- package/lib/core/HazelcastJsonValue.js +56 -0
- package/lib/core/ItemListener.d.ts +38 -0
- package/lib/core/ItemListener.js +35 -0
- package/lib/core/MapListener.d.ts +29 -0
- package/lib/core/MapListener.js +29 -0
- package/lib/core/Member.d.ts +23 -0
- package/lib/core/Member.js +44 -0
- package/lib/core/MemberAttributeEvent.d.ts +37 -0
- package/lib/core/MemberAttributeEvent.js +45 -0
- package/lib/core/MemberSelector.d.ts +4 -0
- package/lib/core/MemberSelector.js +17 -0
- package/lib/core/MemberSelectors.d.ts +8 -0
- package/lib/core/MemberSelectors.js +33 -0
- package/lib/core/MembershipEvent.d.ts +20 -0
- package/lib/core/MembershipEvent.js +30 -0
- package/lib/core/MembershipListener.d.ts +22 -0
- package/lib/core/MembershipListener.js +17 -0
- package/lib/core/OverflowPolicy.d.ts +4 -0
- package/lib/core/OverflowPolicy.js +22 -0
- package/lib/core/Predicate.d.ts +28 -0
- package/lib/core/Predicate.js +113 -0
- package/lib/core/ReadOnlyLazyList.d.ts +12 -0
- package/lib/core/ReadOnlyLazyList.js +74 -0
- package/lib/core/RestValue.d.ts +15 -0
- package/lib/core/RestValue.js +51 -0
- package/lib/core/UUID.d.ts +9 -0
- package/lib/core/UUID.js +44 -0
- package/lib/core/VectorClock.d.ts +7 -0
- package/lib/core/VectorClock.js +48 -0
- package/lib/discovery/HazelcastCloudAddressProvider.d.ts +10 -0
- package/lib/discovery/HazelcastCloudAddressProvider.js +35 -0
- package/lib/discovery/HazelcastCloudAddressTranslator.d.ts +13 -0
- package/lib/discovery/HazelcastCloudAddressTranslator.js +54 -0
- package/lib/discovery/HazelcastCloudDiscovery.d.ts +25 -0
- package/lib/discovery/HazelcastCloudDiscovery.js +85 -0
- package/lib/index.d.ts +26 -0
- package/lib/index.js +64 -0
- package/lib/invocation/ClientConnection.d.ts +82 -0
- package/lib/invocation/ClientConnection.js +307 -0
- package/lib/invocation/ClientConnectionManager.d.ts +56 -0
- package/lib/invocation/ClientConnectionManager.js +298 -0
- package/lib/invocation/ClientEventRegistration.d.ts +10 -0
- package/lib/invocation/ClientEventRegistration.js +30 -0
- package/lib/invocation/ClusterService.d.ts +99 -0
- package/lib/invocation/ClusterService.js +417 -0
- package/lib/invocation/ConnectionAuthenticator.d.ts +14 -0
- package/lib/invocation/ConnectionAuthenticator.js +88 -0
- package/lib/invocation/InvocationService.d.ts +138 -0
- package/lib/invocation/InvocationService.js +387 -0
- package/lib/invocation/Murmur.d.ts +2 -0
- package/lib/invocation/Murmur.js +65 -0
- package/lib/invocation/RegistrationKey.d.ts +16 -0
- package/lib/invocation/RegistrationKey.js +48 -0
- package/lib/logging/DefaultLogger.d.ts +12 -0
- package/lib/logging/DefaultLogger.js +48 -0
- package/lib/logging/ILogger.d.ts +49 -0
- package/lib/logging/ILogger.js +17 -0
- package/lib/logging/LoggingService.d.ts +16 -0
- package/lib/logging/LoggingService.js +50 -0
- package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.d.ts +10 -0
- package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.js +34 -0
- package/lib/nearcache/DataRecord.d.ts +33 -0
- package/lib/nearcache/DataRecord.js +109 -0
- package/lib/nearcache/MetadataContainer.d.ts +18 -0
- package/lib/nearcache/MetadataContainer.js +56 -0
- package/lib/nearcache/MetadataFetcher.d.ts +20 -0
- package/lib/nearcache/MetadataFetcher.js +92 -0
- package/lib/nearcache/NearCache.d.ts +89 -0
- package/lib/nearcache/NearCache.js +250 -0
- package/lib/nearcache/NearCacheManager.d.ts +13 -0
- package/lib/nearcache/NearCacheManager.js +50 -0
- package/lib/nearcache/RepairingHandler.d.ts +26 -0
- package/lib/nearcache/RepairingHandler.js +114 -0
- package/lib/nearcache/RepairingTask.d.ts +26 -0
- package/lib/nearcache/RepairingTask.js +117 -0
- package/lib/nearcache/StaleReadDetector.d.ts +7 -0
- package/lib/nearcache/StaleReadDetector.js +2 -0
- package/lib/nearcache/StaleReadDetectorImpl.d.ts +13 -0
- package/lib/nearcache/StaleReadDetectorImpl.js +35 -0
- package/lib/protocol/ClientProtocolErrorCodes.d.ts +91 -0
- package/lib/protocol/ClientProtocolErrorCodes.js +112 -0
- package/lib/protocol/ErrorCodec.d.ts +11 -0
- package/lib/protocol/ErrorCodec.js +50 -0
- package/lib/protocol/ErrorFactory.d.ts +8 -0
- package/lib/protocol/ErrorFactory.js +92 -0
- package/lib/protocol/StackTraceElementCodec.d.ts +8 -0
- package/lib/protocol/StackTraceElementCodec.js +38 -0
- package/lib/proxy/AtomicLongProxy.d.ts +17 -0
- package/lib/proxy/AtomicLongProxy.js +72 -0
- package/lib/proxy/BaseProxy.d.ts +89 -0
- package/lib/proxy/BaseProxy.js +191 -0
- package/lib/proxy/FlakeIdGenerator.d.ts +47 -0
- package/lib/proxy/FlakeIdGenerator.js +17 -0
- package/lib/proxy/FlakeIdGeneratorProxy.d.ts +13 -0
- package/lib/proxy/FlakeIdGeneratorProxy.js +48 -0
- package/lib/proxy/IAtomicLong.d.ts +16 -0
- package/lib/proxy/IAtomicLong.js +17 -0
- package/lib/proxy/IList.d.ts +132 -0
- package/lib/proxy/IList.js +17 -0
- package/lib/proxy/ILock.d.ts +54 -0
- package/lib/proxy/ILock.js +17 -0
- package/lib/proxy/IMap.d.ts +328 -0
- package/lib/proxy/IMap.js +17 -0
- package/lib/proxy/IQueue.d.ts +128 -0
- package/lib/proxy/IQueue.js +17 -0
- package/lib/proxy/ISemaphore.d.ts +53 -0
- package/lib/proxy/ISemaphore.js +17 -0
- package/lib/proxy/ISet.d.ts +89 -0
- package/lib/proxy/ISet.js +17 -0
- package/lib/proxy/ListProxy.d.ts +31 -0
- package/lib/proxy/ListProxy.js +165 -0
- package/lib/proxy/LockProxy.d.ts +16 -0
- package/lib/proxy/LockProxy.js +78 -0
- package/lib/proxy/MapProxy.d.ts +82 -0
- package/lib/proxy/MapProxy.js +651 -0
- package/lib/proxy/MultiMap.d.ts +153 -0
- package/lib/proxy/MultiMap.js +17 -0
- package/lib/proxy/MultiMapProxy.d.ts +33 -0
- package/lib/proxy/MultiMapProxy.js +238 -0
- package/lib/proxy/NearCachedMapProxy.d.ts +41 -0
- package/lib/proxy/NearCachedMapProxy.js +284 -0
- package/lib/proxy/PNCounter.d.ts +162 -0
- package/lib/proxy/PNCounter.js +17 -0
- package/lib/proxy/PNCounterProxy.d.ts +30 -0
- package/lib/proxy/PNCounterProxy.js +181 -0
- package/lib/proxy/PartitionSpecificProxy.d.ts +10 -0
- package/lib/proxy/PartitionSpecificProxy.js +52 -0
- package/lib/proxy/ProxyManager.d.ts +40 -0
- package/lib/proxy/ProxyManager.js +202 -0
- package/lib/proxy/QueueProxy.d.ts +28 -0
- package/lib/proxy/QueueProxy.js +198 -0
- package/lib/proxy/ReplicatedMap.d.ts +149 -0
- package/lib/proxy/ReplicatedMap.js +17 -0
- package/lib/proxy/ReplicatedMapProxy.d.ts +34 -0
- package/lib/proxy/ReplicatedMapProxy.js +256 -0
- package/lib/proxy/Ringbuffer.d.ts +115 -0
- package/lib/proxy/Ringbuffer.js +17 -0
- package/lib/proxy/SemaphoreProxy.d.ts +15 -0
- package/lib/proxy/SemaphoreProxy.js +73 -0
- package/lib/proxy/SetProxy.d.ts +22 -0
- package/lib/proxy/SetProxy.js +130 -0
- package/lib/proxy/flakeid/AutoBatcher.d.ts +30 -0
- package/lib/proxy/flakeid/AutoBatcher.js +104 -0
- package/lib/proxy/ringbuffer/LazyReadResultSet.d.ts +16 -0
- package/lib/proxy/ringbuffer/LazyReadResultSet.js +54 -0
- package/lib/proxy/ringbuffer/ReadResultSet.d.ts +41 -0
- package/lib/proxy/ringbuffer/ReadResultSet.js +17 -0
- package/lib/proxy/ringbuffer/RingbufferProxy.d.ts +19 -0
- package/lib/proxy/ringbuffer/RingbufferProxy.js +98 -0
- package/lib/proxy/topic/ITopic.d.ts +9 -0
- package/lib/proxy/topic/ITopic.js +17 -0
- package/lib/proxy/topic/Message.d.ts +8 -0
- package/lib/proxy/topic/Message.js +23 -0
- package/lib/proxy/topic/MessageListener.d.ts +2 -0
- package/lib/proxy/topic/MessageListener.js +2 -0
- package/lib/proxy/topic/ReliableTopicListenerRunner.d.ts +20 -0
- package/lib/proxy/topic/ReliableTopicListenerRunner.js +73 -0
- package/lib/proxy/topic/ReliableTopicMessage.d.ts +19 -0
- package/lib/proxy/topic/ReliableTopicMessage.js +53 -0
- package/lib/proxy/topic/ReliableTopicProxy.d.ts +31 -0
- package/lib/proxy/topic/ReliableTopicProxy.js +151 -0
- package/lib/proxy/topic/TopicOverloadPolicy.d.ts +23 -0
- package/lib/proxy/topic/TopicOverloadPolicy.js +41 -0
- package/lib/serialization/Data.d.ts +114 -0
- package/lib/serialization/Data.js +17 -0
- package/lib/serialization/DefaultPredicates.d.ts +131 -0
- package/lib/serialization/DefaultPredicates.js +465 -0
- package/lib/serialization/DefaultSerializer.d.ts +134 -0
- package/lib/serialization/DefaultSerializer.js +442 -0
- package/lib/serialization/HeapData.d.ts +44 -0
- package/lib/serialization/HeapData.js +104 -0
- package/lib/serialization/ObjectData.d.ts +102 -0
- package/lib/serialization/ObjectData.js +566 -0
- package/lib/serialization/PredicateFactory.d.ts +15 -0
- package/lib/serialization/PredicateFactory.js +46 -0
- package/lib/serialization/Serializable.d.ts +23 -0
- package/lib/serialization/Serializable.js +17 -0
- package/lib/serialization/SerializationService.d.ts +60 -0
- package/lib/serialization/SerializationService.js +312 -0
- package/lib/serialization/SerializationUtil.d.ts +3 -0
- package/lib/serialization/SerializationUtil.js +31 -0
- package/lib/serialization/portable/ClassDefinition.d.ts +54 -0
- package/lib/serialization/portable/ClassDefinition.js +140 -0
- package/lib/serialization/portable/ClassDefinitionBuilder.d.ts +35 -0
- package/lib/serialization/portable/ClassDefinitionBuilder.js +126 -0
- package/lib/serialization/portable/ClassDefinitionContext.d.ts +9 -0
- package/lib/serialization/portable/ClassDefinitionContext.js +51 -0
- package/lib/serialization/portable/ClassDefinitionWriter.d.ts +35 -0
- package/lib/serialization/portable/ClassDefinitionWriter.js +123 -0
- package/lib/serialization/portable/DefaultPortableReader.d.ts +43 -0
- package/lib/serialization/portable/DefaultPortableReader.js +188 -0
- package/lib/serialization/portable/DefaultPortableWriter.d.ts +37 -0
- package/lib/serialization/portable/DefaultPortableWriter.js +156 -0
- package/lib/serialization/portable/MorphingPortableReader.d.ts +31 -0
- package/lib/serialization/portable/MorphingPortableReader.js +189 -0
- package/lib/serialization/portable/PortableContext.d.ts +16 -0
- package/lib/serialization/portable/PortableContext.js +126 -0
- package/lib/serialization/portable/PortableSerializer.d.ts +68 -0
- package/lib/serialization/portable/PortableSerializer.js +94 -0
- package/lib/statistics/Statistics.d.ts +50 -0
- package/lib/statistics/Statistics.js +232 -0
- package/lib/util/ArrayComparator.d.ts +1 -0
- package/lib/util/ArrayComparator.js +17 -0
- package/lib/util/UuidUtil.d.ts +4 -0
- package/lib/util/UuidUtil.js +35 -0
- package/lib.es6.d.ts +18650 -0
- package/package.json +64 -0
- package/tsconfig.json +20 -0
package/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
stable
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [3.12.5] - 2024-01-XX
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Critical**: Fixed connection failover issues that caused client to hang when partition owners go down
|
|
12
|
+
- **Critical**: Fixed connection leakage that resulted in increasing connection counts to failed nodes
|
|
13
|
+
- **Critical**: Fixed hanging invocations that would never complete or fail gracefully
|
|
14
|
+
- **Critical**: Fixed poor failover logic that prevented switching to healthy nodes
|
|
15
|
+
- **Critical**: Fixed repeated connection attempts to known failed nodes
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **Connection Health Monitoring**: Active health checks every 5 seconds to detect broken connections
|
|
19
|
+
- **Enhanced Failover Logic**: Proper failover cooldown and structured failover process
|
|
20
|
+
- **Connection Retry with Backoff**: Intelligent retry mechanism with configurable delays
|
|
21
|
+
- **Failed Connection Tracking**: Temporary blocking of repeatedly failed addresses
|
|
22
|
+
- **Partition Table Management**: Automatic clearing and refresh of partition information
|
|
23
|
+
- **Enhanced Retry Logic**: Maximum retry limits and partition-specific failure handling
|
|
24
|
+
- **Address Blocking System**: Temporary blocking of failed addresses (30 seconds) to prevent repeated failures
|
|
25
|
+
- **New Configuration Properties**: Enhanced connection management and failover control options
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- **Network Configuration**: Increased default `connectionAttemptLimit` from 2 to 5
|
|
29
|
+
- **Network Configuration**: Increased default `connectionTimeout` from 5000ms to 10000ms
|
|
30
|
+
- **Network Configuration**: Changed default `redoOperation` from false to true
|
|
31
|
+
- **Connection Management**: Added health check intervals and retry limits
|
|
32
|
+
- **Failover Control**: Added cooldown periods and refresh rate limiting
|
|
33
|
+
- **Address Management**: Added intelligent blocking of failed addresses with automatic unblocking
|
|
34
|
+
|
|
35
|
+
### Configuration Properties Added
|
|
36
|
+
- `hazelcast.client.connection.health.check.interval`: Connection health check interval (ms)
|
|
37
|
+
- `hazelcast.client.connection.max.retries`: Maximum connection retry attempts
|
|
38
|
+
- `hazelcast.client.connection.retry.delay`: Delay between connection retries (ms)
|
|
39
|
+
- `hazelcast.client.failover.cooldown`: Cooldown period between failover attempts (ms)
|
|
40
|
+
- `hazelcast.client.partition.refresh.min.interval`: Minimum interval between partition refreshes (ms)
|
|
41
|
+
- `hazelcast.client.invocation.max.retries`: Maximum invocation retry attempts
|
|
42
|
+
- `hazelcast.client.partition.failure.backoff`: Backoff delay for partition failures (ms)
|
|
43
|
+
|
|
44
|
+
### Technical Improvements
|
|
45
|
+
- **ClientConnectionManager**: Added connection health monitoring and retry logic
|
|
46
|
+
- **ClusterService**: Improved failover handling with cooldown, structured process, and address blocking
|
|
47
|
+
- **PartitionService**: Enhanced partition table management and refresh logic
|
|
48
|
+
- **InvocationService**: Better retry handling and partition failure management
|
|
49
|
+
- **Error Handling**: Improved error handling and logging throughout the codebase
|
|
50
|
+
- **Address Tracking**: Intelligent tracking and blocking of failed addresses
|
|
51
|
+
|
|
52
|
+
### Backward Compatibility
|
|
53
|
+
- **100% Backward Compatible**: No breaking changes, existing code will work unchanged
|
|
54
|
+
- **Same Import Statement**: `require('@celerispay/hazelcast-client')` for new version
|
|
55
|
+
- **Same API**: All existing methods and properties remain unchanged
|
|
56
|
+
- **Enhanced Defaults**: Better default values for production use
|
|
57
|
+
|
|
58
|
+
## [3.12.4] - Previous Release
|
|
59
|
+
|
|
60
|
+
### Previous version without connection failover fixes
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Migration Guide
|
|
65
|
+
|
|
66
|
+
### From 3.12.4 to 3.12.5
|
|
67
|
+
|
|
68
|
+
1. **Update package.json**:
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@celerispay/hazelcast-client": "3.12.5"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
2. **Update import statement**:
|
|
78
|
+
```javascript
|
|
79
|
+
// Before
|
|
80
|
+
const { HazelcastClient } = require('hazelcast-client');
|
|
81
|
+
|
|
82
|
+
// After
|
|
83
|
+
const { HazelcastClient } = require('@celerispay/hazelcast-client');
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
3. **No other code changes required** - All fixes are backward compatible
|
|
87
|
+
|
|
88
|
+
4. **Optional**: Configure enhanced properties for better control:
|
|
89
|
+
```javascript
|
|
90
|
+
properties: {
|
|
91
|
+
'hazelcast.client.connection.health.check.interval': 5000,
|
|
92
|
+
'hazelcast.client.failover.cooldown': 5000,
|
|
93
|
+
'hazelcast.client.invocation.max.retries': 10
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Testing
|
|
98
|
+
|
|
99
|
+
Run the test suite to verify the fixes:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm test -- --grep "Connection Failover Test"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Documentation
|
|
106
|
+
|
|
107
|
+
- **FAILOVER_FIXES.md**: Detailed technical documentation of all fixes
|
|
108
|
+
- **QUICK_START.md**: Quick start guide with configuration examples
|
|
109
|
+
- **CHANGELOG.md**: This file with detailed change information
|
|
110
|
+
|
|
111
|
+
## Package Information
|
|
112
|
+
|
|
113
|
+
- **Package Name**: `@celerispay/hazelcast-client`
|
|
114
|
+
- **Version**: `3.12.5`
|
|
115
|
+
- **Publisher**: CelerisPay
|
|
116
|
+
- **License**: Apache-2.0
|
package/CONFIG.md
ADDED
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
You can configure Hazelcast Node.js Client declaratively (JSON) or programmatically (API).
|
|
2
|
+
|
|
3
|
+
* Programmatic configuration
|
|
4
|
+
* Declarative configuration (JSON file)
|
|
5
|
+
|
|
6
|
+
# Programmatic Configuration
|
|
7
|
+
For programmatic configuration of the Hazelcast Java Client, just instantiate a ClientConfig object and configure the
|
|
8
|
+
desired aspects. An example is shown below.
|
|
9
|
+
|
|
10
|
+
```javascript
|
|
11
|
+
var Config = require('hazelcast-client').Config;
|
|
12
|
+
var Address = require('hazelcast-client').Address;
|
|
13
|
+
var cfg = new Config.ClientConfig();
|
|
14
|
+
cfg.networkConfig.addresses.push('127.0.0.1:5701');
|
|
15
|
+
return HazelcastClient.newHazelcastClient(cfg);
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Refer to [Hazelcast Node.js Client API Docs](http://hazelcast.github.io/hazelcast-nodejs-client/api/current/docs) for details.
|
|
19
|
+
|
|
20
|
+
# Declarative Configuration (JSON)
|
|
21
|
+
For declarative configuration, the Hazelcast client looks at the following places for the client configuration file.
|
|
22
|
+
|
|
23
|
+
1. Environment variable: The client first looks for the environment variable `HAZELCAST_CLIENT_CONFIG`. If it exists,
|
|
24
|
+
the client looks for the configuration file in the specified location.
|
|
25
|
+
2. Current working directory: If there is no environment variable set, the client tries to load `hazelcast-client.json`
|
|
26
|
+
from the current working directory.
|
|
27
|
+
3. Default configuration: If all of the above methods fail, the client starts with the default configuration.
|
|
28
|
+
|
|
29
|
+
Following is a sample JSON configuration file:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"group": {
|
|
34
|
+
"name": "hazel",
|
|
35
|
+
"password": "cast"
|
|
36
|
+
},
|
|
37
|
+
"properties": {
|
|
38
|
+
"hazelcast.client.heartbeat.timeout": 10000,
|
|
39
|
+
"hazelcast.client.invocation.retry.pause.millis": 4000,
|
|
40
|
+
"hazelcast.client.invocation.timeout.millis": 180000,
|
|
41
|
+
"hazelcast.invalidation.reconciliation.interval.seconds": 50,
|
|
42
|
+
"hazelcast.invalidation.max.tolerated.miss.count": 15,
|
|
43
|
+
"hazelcast.invalidation.min.reconciliation.interval.seconds": 60
|
|
44
|
+
},
|
|
45
|
+
"network": {
|
|
46
|
+
"clusterMembers": [
|
|
47
|
+
"127.0.0.1:5701"
|
|
48
|
+
],
|
|
49
|
+
"smartRouting": true,
|
|
50
|
+
"connectionTimeout": 6000,
|
|
51
|
+
"connectionAttemptPeriod": 4000,
|
|
52
|
+
"connectionAttemptLimit": 3
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Group Configuration
|
|
58
|
+
|
|
59
|
+
The clients should provide a group name and password in order to connect to the cluster.
|
|
60
|
+
You can configure them as shown below.
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"group": {
|
|
65
|
+
"name": "hazel",
|
|
66
|
+
"password": "cast"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Client Network
|
|
72
|
+
|
|
73
|
+
All network related configuration of Hazelcast Node.js Client is performed via the `network` element in the declarative
|
|
74
|
+
configuration file. Let's first give an example for `network` configuration. Then we will look at its properties.
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"network": {
|
|
79
|
+
"clusterMembers": [
|
|
80
|
+
"127.0.0.9",
|
|
81
|
+
"127.0.0.2:5702"
|
|
82
|
+
],
|
|
83
|
+
"smartRouting": false,
|
|
84
|
+
"connectionTimeout": 6000,
|
|
85
|
+
"connectionAttemptPeriod": 4000,
|
|
86
|
+
"connectionAttemptLimit": 3,
|
|
87
|
+
"ssl": {
|
|
88
|
+
"enabled": true,
|
|
89
|
+
"factory": {
|
|
90
|
+
"path": "path/to/file",
|
|
91
|
+
"exportedName": "exportedName",
|
|
92
|
+
"properties": {
|
|
93
|
+
"userDefinedProperty1": "userDefinedValue"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Configuring Address List
|
|
102
|
+
|
|
103
|
+
Address list is the initial list of cluster addresses to which the client will connect. The client uses this
|
|
104
|
+
list to find an alive member. Although it may be enough to give only one address of a member in the cluster
|
|
105
|
+
(since all members communicate with each other), it is recommended that you give the addresses for all the members.
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"network": {
|
|
110
|
+
"clusterMembers": [
|
|
111
|
+
"127.0.0.9",
|
|
112
|
+
"127.0.0.2:5702"
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
If the port part is omitted, then 5701, 5702, and 5703 will be tried in random order.
|
|
118
|
+
|
|
119
|
+
Default address is 127.0.0.1.
|
|
120
|
+
|
|
121
|
+
### Setting Smart Routing
|
|
122
|
+
|
|
123
|
+
Smart routing defines whether the client mode is smart or unisocket. The following is an example configuration.
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"network": {
|
|
128
|
+
"smartRouting": true
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Default is smart routing mode.
|
|
134
|
+
|
|
135
|
+
### Setting Connection Timeout
|
|
136
|
+
|
|
137
|
+
Connection timeout is the timeout value in milliseconds for the members to accept client connection requests.
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"network": {
|
|
141
|
+
"connectionTimeout": 6000
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
Default value is 5000 milliseconds.
|
|
146
|
+
|
|
147
|
+
### Setting Connection Attempt Limit
|
|
148
|
+
|
|
149
|
+
While the client is trying to connect initially to one of the members in the address list, that member
|
|
150
|
+
might not be available at that moment. Instead of giving up, throwing an error and stopping the client,
|
|
151
|
+
the client will retry as many as connection attempt limit times. This is also the case when the previously
|
|
152
|
+
established connection between the client and that member goes down.
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"network": {
|
|
157
|
+
"connectionAttemptLimit": 3
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
Default value is 2.
|
|
162
|
+
|
|
163
|
+
### Setting Connection Attempt Period
|
|
164
|
+
|
|
165
|
+
Connection timeout period is the duration in milliseconds between the connection attempts defined by
|
|
166
|
+
connection attempt limit.
|
|
167
|
+
|
|
168
|
+
```json
|
|
169
|
+
{
|
|
170
|
+
"network": {
|
|
171
|
+
"connectionAttemptPeriod": 4000
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Default value is 3000.
|
|
177
|
+
|
|
178
|
+
### Enabling Client TLS/SSL
|
|
179
|
+
|
|
180
|
+
You can use TLS/SSL to secure the connection between the client and members. If you want TLS/SSL enabled
|
|
181
|
+
for the client-cluster connection, you should set an SSL configuration. Once set, the connection (socket) is
|
|
182
|
+
established out of an `options` object supplied by the user.
|
|
183
|
+
|
|
184
|
+
Hazelcast Node.js Client uses a user supplied SSL `options` object to pass to
|
|
185
|
+
[`tls.connect` of Node.js](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback). There are two ways
|
|
186
|
+
to provide this object to the client:
|
|
187
|
+
|
|
188
|
+
1. Using the built-in `BasicSSLOptionsFactory` bundled with the client.
|
|
189
|
+
2. Writing an SSLOptionsFactory.
|
|
190
|
+
|
|
191
|
+
Below subsections describe each way.
|
|
192
|
+
|
|
193
|
+
#### Using Built-in BasicSSLOptionsFactory
|
|
194
|
+
|
|
195
|
+
Hazelcast Node.js Client includes a utility factory class that creates the necessary `options` object out of the supplied
|
|
196
|
+
properties. All you need to do is specifying your factory as `BasicSSLOptionsFactory` and provide the following options:
|
|
197
|
+
|
|
198
|
+
caPath
|
|
199
|
+
keyPath
|
|
200
|
+
certPath
|
|
201
|
+
servername
|
|
202
|
+
rejectUnauthorized
|
|
203
|
+
ciphers
|
|
204
|
+
|
|
205
|
+
Please refer to [`tls.connect` of Node.js](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback) for the descriptions of each option.
|
|
206
|
+
|
|
207
|
+
> `certPath` and `caPath` define file path to respective file that stores such information.
|
|
208
|
+
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"network": {
|
|
212
|
+
"ssl": {
|
|
213
|
+
"enabled": true,
|
|
214
|
+
"factory": {
|
|
215
|
+
"exportedName": "BasicSSLOptionsFactory",
|
|
216
|
+
"properties": {
|
|
217
|
+
"caPath": "ca.pem",
|
|
218
|
+
"keyPath": "key.pem",
|
|
219
|
+
"certPath": "cert.pem",
|
|
220
|
+
"rejectUnauthorized": false
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
If these options are not enough for your application, you may write your own options factory and instruct the client
|
|
229
|
+
to get the options from it, as explained below.
|
|
230
|
+
|
|
231
|
+
#### Writing an SSL Options Factory
|
|
232
|
+
|
|
233
|
+
In order to use the full range of options provided to [`tls.connect` of Node.js](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback),
|
|
234
|
+
you may write your own factory object.
|
|
235
|
+
|
|
236
|
+
An example configuration:
|
|
237
|
+
|
|
238
|
+
```json
|
|
239
|
+
{
|
|
240
|
+
"network": {
|
|
241
|
+
"ssl": {
|
|
242
|
+
"enabled": true,
|
|
243
|
+
"factory": {
|
|
244
|
+
"path": "my_factory.js",
|
|
245
|
+
"exportedName": "SSLFactory",
|
|
246
|
+
"properties": {
|
|
247
|
+
"caPath": "ca.pem",
|
|
248
|
+
"keyPath": "key.pem",
|
|
249
|
+
"certPath": "cert.pem",
|
|
250
|
+
"keepOrder": true
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
And your own factory, `My_Factory.js`:
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
```javascript
|
|
263
|
+
function SSLFactory() {
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
SSLFactory.prototype.init = function(props) {
|
|
267
|
+
this.caPath = props.caPath;
|
|
268
|
+
this.keyPath = props.keyPath;
|
|
269
|
+
this.certPath = props.certPath;
|
|
270
|
+
this.keepOrder = props.userDefinedProperty1;
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
SSLFactory.prototype.getSSLOptions = function() {
|
|
274
|
+
var sslOpts = {
|
|
275
|
+
servername: 'foo.bar.com',
|
|
276
|
+
rejectUnauthorized: true,
|
|
277
|
+
ca: fs.readFileSync(this.caPath)
|
|
278
|
+
key: fs.readFileSync(this.keyPath),
|
|
279
|
+
cert: fs.readFileSync(this.certPath),
|
|
280
|
+
};
|
|
281
|
+
if (this.keepOrder) {
|
|
282
|
+
sslOpts.honorCipherOrder = true;
|
|
283
|
+
}
|
|
284
|
+
return sslOpts;
|
|
285
|
+
};
|
|
286
|
+
exports.SSLFactory = SSLFactory;
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
The client loads `MyFactory.js` at runtime and creates an instance of `SSLFactory`. It then calls the method `init` with
|
|
290
|
+
the properties section in the JSON configuration file. Lastly, the client calls the method `getSSLOptions` of `SSLFactory` to create the `options` object.
|
|
291
|
+
|
|
292
|
+
For information about the path resolution, please refer to the [Path Resolution](#path-resolution-and-object-loading) section.
|
|
293
|
+
|
|
294
|
+
### Enabling Hazelcast Cloud Discovery
|
|
295
|
+
The purpose of Hazelcast Cloud Discovery is to provide clients to use IP addresses provided by `hazelcast orchestrator`. To enable Hazelcast Cloud Discovery, specify a token for the `discoveryToken` field and set the `enabled` field to "true".
|
|
296
|
+
|
|
297
|
+
Hazelcast Cloud configuration is as follows:
|
|
298
|
+
|
|
299
|
+
```json
|
|
300
|
+
{
|
|
301
|
+
"group": {
|
|
302
|
+
"name": "hazel",
|
|
303
|
+
"password": "cast"
|
|
304
|
+
},
|
|
305
|
+
|
|
306
|
+
"network": {
|
|
307
|
+
"hazelcastCloud": {
|
|
308
|
+
"discoveryToken": "EXAMPLE_TOKEN",
|
|
309
|
+
"enabled": true
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
To be able to connect to the provided IP addresses, you should use secure TLS/SSL connection between the client and members. Therefore, you should set an SSL configuration as described in the previous section.
|
|
317
|
+
|
|
318
|
+
## Serialization Configuration
|
|
319
|
+
|
|
320
|
+
This section shows how to configure Hazelcast serialization declaratively. Please refer to [Hazelcast IMDG Reference Manual](http://docs.hazelcast.org/docs/latest/manual/html-single/index.html#serialization)
|
|
321
|
+
and [Node.js client readme](https://github.com/hazelcast/hazelcast-nodejs-client/#serialization-considerations) for more information on serializations.
|
|
322
|
+
|
|
323
|
+
Serialization configuration is as follows:
|
|
324
|
+
|
|
325
|
+
```json
|
|
326
|
+
{
|
|
327
|
+
"serialization": {
|
|
328
|
+
"defaultNumberType": "integer",
|
|
329
|
+
"isBigEndian": false,
|
|
330
|
+
"dataSerializableFactories": [
|
|
331
|
+
{
|
|
332
|
+
"path": "path/to/file",
|
|
333
|
+
"exportedName": "exportedName",
|
|
334
|
+
"factoryId": 0
|
|
335
|
+
}
|
|
336
|
+
],
|
|
337
|
+
"portableFactories": [
|
|
338
|
+
{
|
|
339
|
+
"path": "path/to/file",
|
|
340
|
+
"exportedName": "exportedName",
|
|
341
|
+
"factoryId": 1
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"portableVersion": 1,
|
|
345
|
+
"globalSerializer": {
|
|
346
|
+
"path": "path/to/file",
|
|
347
|
+
"exportedName": "exportedName"
|
|
348
|
+
},
|
|
349
|
+
"serializers": [
|
|
350
|
+
{
|
|
351
|
+
"path": "path/to/custom",
|
|
352
|
+
"exportedName": "CustomSerializer1",
|
|
353
|
+
"typeId": 2
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"path": "path/to/custom",
|
|
357
|
+
"exportedName": "CustomSerializer2",
|
|
358
|
+
"typeId": 3
|
|
359
|
+
}
|
|
360
|
+
]
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
One important aspect of Node.js Client's serialization is `defaultNumberType`. Hazelcast servers use 4 different
|
|
366
|
+
primitive numeric types; `int`, `long`, `float` and `double`. However, Javascript has only one numeric type which
|
|
367
|
+
is `number`. Number is a floating point type. If you do not work with heterogenous clients (multiple languages),
|
|
368
|
+
you do not need to worry about this setting. However, if your numeric data is accessed by the clients in different
|
|
369
|
+
languages, you need to map `number` type to one of the numeric types recognized by the Java servers. Hazelcast handles
|
|
370
|
+
type conversions automatically. Accepted values for `defaultNumberType` are `integer`, `float` and `double`. You
|
|
371
|
+
may use `long` module for working with longs. [long module](https://www.npmjs.com/package/long) is included
|
|
372
|
+
in Hazelcast Node.js Client.
|
|
373
|
+
|
|
374
|
+
Related section: [Path Resolution](#path-resolution-and-object-loading)
|
|
375
|
+
|
|
376
|
+
## Configuring Near Cache
|
|
377
|
+
|
|
378
|
+
You may configure Near Caches for your maps as the following:
|
|
379
|
+
|
|
380
|
+
```json
|
|
381
|
+
{
|
|
382
|
+
"nearCaches": [
|
|
383
|
+
{
|
|
384
|
+
"name": "nc-map",
|
|
385
|
+
"invalidateOnChange": false,
|
|
386
|
+
"maxIdleSeconds": 2,
|
|
387
|
+
"inMemoryFormat": "object",
|
|
388
|
+
"timeToLiveSeconds": 3,
|
|
389
|
+
"evictionPolicy": "lru",
|
|
390
|
+
"evictionMaxSize": 3000,
|
|
391
|
+
"evictionSamplingCount": 4,
|
|
392
|
+
"evictionSamplingPoolSize": 8
|
|
393
|
+
}
|
|
394
|
+
]
|
|
395
|
+
}
|
|
396
|
+
```
|
|
397
|
+
`nearCaches` is an array that includes one configuration object for each Near Cache in the client. For meanings
|
|
398
|
+
of configuration options, please refer to [NearCacheConfig API Documentation](http://hazelcast.github.io/hazelcast-nodejs-client/api/0.7/docs/classes/_config_.nearcacheconfig.html).
|
|
399
|
+
|
|
400
|
+
## Configuring Flake Id Generator
|
|
401
|
+
You may configure flake id generators as the following:
|
|
402
|
+
|
|
403
|
+
```json
|
|
404
|
+
{
|
|
405
|
+
"flakeIdGeneratorConfigs": [
|
|
406
|
+
{
|
|
407
|
+
"name": "flakeidgenerator",
|
|
408
|
+
"prefetchCount": 123,
|
|
409
|
+
"prefetchValidityMillis": 150000
|
|
410
|
+
}
|
|
411
|
+
]
|
|
412
|
+
}
|
|
413
|
+
```
|
|
414
|
+
For meanings of configuration options refer to FlakeIdGenerator's API documantation [API Documentation](http://hazelcast.github.io/hazelcast-nodejs-client/api/current/docs)
|
|
415
|
+
|
|
416
|
+
> Note: Since Javascript cannot represent numbers greater than 2^53, you need to put long numbers in quotes as a string.
|
|
417
|
+
|
|
418
|
+
## Composing Declarative Configuration
|
|
419
|
+
|
|
420
|
+
You can compose the declarative configuration of your Hazelcast client from multiple declarative
|
|
421
|
+
configuration snippets. In order to compose a declarative configuration, you can use the `import` element to load
|
|
422
|
+
different declarative configuration files.
|
|
423
|
+
|
|
424
|
+
Let's assume you have the following two configurations:
|
|
425
|
+
|
|
426
|
+
`group-config.json`:
|
|
427
|
+
|
|
428
|
+
```json
|
|
429
|
+
{
|
|
430
|
+
"group": {
|
|
431
|
+
"name": "hazel",
|
|
432
|
+
"password": "cast"
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
`network-config.json`:
|
|
438
|
+
|
|
439
|
+
```json
|
|
440
|
+
{
|
|
441
|
+
"network": {
|
|
442
|
+
"clusterMembers": [
|
|
443
|
+
"127.0.0.10:4001",
|
|
444
|
+
"127.0.0.11:4001"
|
|
445
|
+
]
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
To get your example Hazelcast declarative configuration out of the above two, use the `import` element as
|
|
451
|
+
shown below.
|
|
452
|
+
|
|
453
|
+
```json
|
|
454
|
+
{
|
|
455
|
+
"import": [
|
|
456
|
+
"group-config.json",
|
|
457
|
+
"network-config.json"
|
|
458
|
+
]
|
|
459
|
+
}
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
> Note: Use `import` element on top level of JSON hierarchy.
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
## Path Resolution and Object Loading
|
|
466
|
+
|
|
467
|
+
For configuration elements that require you to specify a code piece, you will need to specify the path to the
|
|
468
|
+
code and name of the exported element that you want the client to use. This configuration is set as follows:
|
|
469
|
+
|
|
470
|
+
```json
|
|
471
|
+
{
|
|
472
|
+
"path": "path/to/file",
|
|
473
|
+
"exportedName": "MyObject"
|
|
474
|
+
}
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
In the above configuration, `path` shows the address to the file that you want the client to load. Unless this is an
|
|
478
|
+
absolute path, it is relative to the location of `hazelcast-config.json` file.
|
|
479
|
+
|
|
480
|
+
In Javascript, you can define and export as many objects as you want in a single file. Above configuration element
|
|
481
|
+
is designed to load only one specified object from a file (`MyObject`). Therefore, `exportedName` specifies the name of desired object.
|
|
482
|
+
|
|
483
|
+
Let's say your project's directory structure is as follows:
|
|
484
|
+
|
|
485
|
+
my_app/
|
|
486
|
+
my_app/index.js
|
|
487
|
+
my_app/factory_utils.js
|
|
488
|
+
my_app/hazelcast-client.json
|
|
489
|
+
my_app/node_modules/
|
|
490
|
+
my_app/node_modules/hazelcast-client
|
|
491
|
+
|
|
492
|
+
In `factory_utils.js`, you have multiple exported functions.
|
|
493
|
+
|
|
494
|
+
```javascript
|
|
495
|
+
exports.utilityFunction = function() {...}
|
|
496
|
+
exports.MySSLFactory = function() {...}
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
In order to load `MySSLFactory` in your SSL configuration, you should set `path` and `exportedName` as `factory_utils.js`
|
|
500
|
+
and `MySSLFactory` respectively.
|
|
501
|
+
|
|
502
|
+
If you have only one export as the default export from `factory_utils.js`, just skip `exportedName` property and
|
|
503
|
+
the client will load the default export from the file.
|