• Home Node.js .NET Golang Dart Python Java
    Menu
  • v3 (latest)
    v3 (latest) v4 (pre-release)
  • Home Node.js .NET Golang Dart Python Java
    Menu
  • v3 (latest)
    v3 (latest) v4 (pre-release)
    • Home
      • Tutorials
        • Getting Started
          • Your First Microservice
          • Learning path
        • Beginner Tutorials
          • Toolkit Architecture
          • Microservice Structure
          • Three tier architecture
          • Building Blocks
            • Components
            • Data Handling
            • Configurations
            • Connectivity
            • Observabiity
            • Concurrency
            • Persistence
          • Components
            • Reflection
            • Component Communication
            • Component Creation
            • Component Lifecycle
            • Component References
            • Descriptors
            • Factories
          • Communication
            • Command set
            • Commandable gRPC
            • Commandable HTTP
            • Connection utils
            • Direct client
            • gRPC
            • REST Client
            • REST Service
            • Swagger
          • Persistences
            • Cassandra
            • Designing persistence
            • JSON persitence
            • Memory persistence
            • MongoDB Basic
            • MySQL persistence
            • PostgreSQL persistence
            • SQL Server persistence
          • Containers
            • Google Cloud Platform
            • Process container
          • Configuration
            • Component configuration
            • Config file syntax
            • Configurations
            • Configuring connections
            • Configuring credentials
            • Deployment configuration
            • Microservice configuration
          • Caching
            • Caching basics
            • Memcached
            • Redis
          • Data Handling
            • Data Validation
            • Dynamic Data Types
            • Data conversion
            • Randomness
          • Locks another name
            • Memcached
            • Memory locks
            • Redis
          • Observability
            • Datadog
            • Elasticsearch
            • Fluentd
            • Logging
            • Metrics
            • Prometheus
          • Messaging
            • Kafka
            • Messaging basics
            • MQTT
            • NATS
            • RabbitMQ
          • Discovery services
          • Mustache Templates
        • Advanced tutorials
          • Data Microservice
            • Step 1. Environment setup
            • Step 2. Project structure
            • Step 3. Data model
            • Step 4. Persistence
            • Step 5. Controller
            • Step 6. HTTP service
            • Step 7. Container
            • Step 8. Run
          • Microservice Dockerization
            • Step 1. Environment setup
            • Step 2. Build
            • Step 3. Test
            • Step 4. Package
            • Step 5. Publish
            • Step 6. Run
          • Client Library
            • Step 1. Environment setup
            • Step 2. Setting up
            • Step 3. Direct Client
            • Step 4. HTTP Client
            • Step 5. Mock Client
            • Step 6. Testing the Client
          • Microservice Facade
            • Step 1. Environment setup
            • Step 2. Project's Structure
            • Step 3. Business operations
            • Step 4. Authentication and sessions
            • Step 5. Authorization
            • Step 6. Services
            • Step 7. Testing
            • Step 8. Running the facade
            • Step 9. Manual testing of facade
          • MongoDB persistence
        • Terminology
        • FAQ
      • Toolkit API modules
        • Node.js
          • Commons module
            • Commands
              • Command
              • CommandSet
              • Event
              • ICommand
              • ICommandable
              • ICommandInterceptor
              • IEvent
              • IEventListener
              • InterceptedCommand
            • Config
              • ConfigParams
              • IConfigurable
              • IReconfigurable
              • NameResolver
              • OptionsResolver
            • Convert
              • ArrayConverter
              • BooleanConverter
              • DateTimeConverter
              • DoubleConverter
              • FloatConverter
              • IntegerConverter
              • JsonConverter
              • LongConverter
              • MapConverter
              • RecursiveMapConverter
              • StringConverter
              • TypeCode
              • TypeConverter
            • Data
              • AnyValue
              • AnyValueArray
              • AnyValueMap
              • DataPage
              • FilterParams
              • IChangeable
              • ICloneable
              • IdGenerator
              • IIdentifiable
              • INamed
              • IStringIdentifiable
              • ITrackable
              • IVersioned
              • MultiString
              • PagingParams
              • ProjectionParams
              • SortField
              • SortParams
              • StringValueMap
              • TagsProcessor
              • TokenizedDataPage
              • TokenizedPagingParams
            • Errors
              • ApplicationException
              • ApplicationExceptionFactory
              • BadRequestException
              • ConfigException
              • ConflictException
              • ConnectionException
              • ErrorCategory
              • ErrorDescription
              • ErrorDescriptionFactory
              • FileException
              • InternalException
              • InvalidStateException
              • InvocationException
              • NotFoundException
              • UnauthorizedException
              • UnknownException
              • UnsupportedException
            • Random
              • RandomArray
              • RandomBoolean
              • RandomDateTime
              • RandomDouble
              • RandomFloat
              • RandomInteger
              • RandomString
              • RandomText
            • Refer
              • DependencyResolver
              • Descriptor
              • IReferenceable
              • IReferences
              • IUnreferenceable
              • Reference
              • ReferenceException
              • Referencer
              • References
            • Reflect
              • MethodReflector
              • ObjectReader
              • ObjectWriter
              • PropertyReflector
              • RecursiveObjectReader
              • RecursiveObjectWriter
              • TypeDescriptor
              • TypeMatcher
              • TypeReflector
            • Run
              • Cleaner
              • Closer
              • Executor
              • FixedRateTimer
              • ICleanable
              • IClosable
              • IExecutable
              • INotifiable
              • IOpenable
              • IParameterized
              • Notifier
              • Opener
              • Parameters
            • Validate
              • AndRule
              • ArraySchema
              • AtLeastOneExistsRule
              • ExcludedRule
              • FilterParamsSchema
              • IncludedRule
              • IValidationRule
              • MapSchema
              • NotRule
              • ObjectComparator
              • ObjectSchema
              • OnlyOneExistsRule
              • OrRule
              • PagingParamsSchema
              • ProjectionParamsSchema
              • PropertiesComparisonRule
              • PropertySchema
              • Schema
              • ValidationException
              • ValidationResult
              • ValidationResultType
              • ValueComparisonRule
          • Components module
            • Auth
              • CredentialParams
              • CredentialResolver
              • DefaultCredentialStoreFactory
              • ICredentialStore
              • MemoryCredentialStore
            • Build
              • CompositeFactory
              • CreateException
              • Factory
              • IFactory
            • Cache
              • CacheEntry
              • DefaultCacheFactory
              • ICache
              • MemoryCache
              • NullCache
            • Component
            • Config
              • ConfigReader
              • DefaultConfigReaderFactory
              • FileConfigReader
              • IConfigReader
              • JsonConfigReader
              • MemoryConfigReader
              • YamlConfigReader
            • Connect
              • CompositeConnectionResolver
              • ConnectionParams
              • ConnectionResolver
              • ConnectionUtils
              • DefaultDiscoveryFactory
              • IDiscovery
              • MemoryDiscovery
            • Count
              • CachedCounters
              • CompositeCounters
              • Counter
              • CounterTiming
              • CounterType
              • DefaultCountersFactory
              • ICounters
              • ICounterTimingCallback
              • LogCounters
              • NullCounters
            • Info
              • ContextInfo
              • DefaultInfoFactory
            • Lock
              • DefaultLockFactory
              • ILock
              • Lock
              • MemoryLock
              • NullLock
            • Log
              • CachedLogger
              • CompositeLogger
              • ConsoleLogger
              • DefaultLoggerFactory
              • ILogger
              • Logger
              • LogLevel
              • LogLevelConverter
              • LogMessage
              • NullLogger
            • State
              • DefaultStateStoreFactory
              • IStateStore
              • MemoryStateStore
              • NullStateStore
              • StateEntry
              • StateEntry
            • Test
              • DefaultTestFactory
              • Shutdown
            • Trace
              • CachedTracer
              • CompositeTracer
              • DefaultTracerFactory
              • ITracer
              • LogTracer
              • NullTracer
              • OperationTrace
              • TraceTiming
          • Container module
            • Build
              • DefaultContainerFactory
            • Config
              • ComponentConfig
              • ContainerConfig
              • ContainerConfigReader
            • Containers
              • Container
              • ProcessContainer
            • Refer
              • BuildReferencesDecorator
              • ContainerReferences
              • LinkReferencesDecorator
              • ManagedReferences
              • ReferencesDecorator
              • RunReferencesDecorator
          • Data module
            • Core
              • IFilteredPageReader
              • IFilteredReader
              • IGetter
              • ILoader
              • IPartialUpdater
              • IQuerablePageReader
              • IQuerableReader
              • ISaver
              • ISetter
              • IWriter
            • Persistence
              • FilePersistence
              • IdentifiableFilePersistence
              • IdentifiableMemoryPersistence
              • JsonFilePersister
              • MemoryPersistence
          • RPC module
            • Auth
              • BasicAuthorizer
              • OwnerAuthorizer
              • RoleAuthorizer
            • Build
              • DefaultRpcFactory
            • Clients
              • CommandableHttpClient
              • DirectClient
              • RestClient
            • Connect
              • HttpConnectionResolver
            • Services
              • AboutOperations
              • CommandableHttpService
              • CommandableSwaggerDocument
              • HeartBeatOperations
              • HeartbeatRestService
              • HttpEndpoint
              • HttpRequestDetector
              • HttpResponseSender
              • InstrumentTiming
              • IRegisterable
              • ISwaggerService
              • RestOperations
              • RestService
              • StatusOperations
              • StatusRestService
            • Test
              • TestCommandableHttpClient
              • TestRestClient
          • gRPC module
            • Build
              • DefaultGrpcFactory
            • Clients
              • CommandableGrpcClient
              • GrpcClient
            • Services
              • CommandableGrpcService
              • GrpcEndpoint
              • GrpcService
              • IRegisterable
            • Test
              • TestCommandableGrpcClient
              • TestGrpcClient
          • Messaging module
            • Build
              • DefaultMessagingFactory
              • IMessageQueueFactory
              • MemoryMessageQueueFactory
              • MessageQueueFactory
            • Connect
              • IMessageQueueConnection
            • Queues
              • CachedMessageQueue
              • CallbackMessageReceiver
              • IMessageQueue
              • IMessageReceiver
              • LockedMessage
              • MemoryMessageQueue
              • MessageEnvelope
              • MessageQueue
              • MessagingCapabilities
            • Test
              • TestMessageReceiver
          • Expressions module
            • Calculator
              • Functions
                • DefaultFunctionCollection
                • DelegatedFunction
                • FunctionCollection
                • IFunction
                • IFunctionCollection
              • Parsers
                • ExpressionParser
                • ExpressionToken
                • ExpressionTokenType
              • Tokenizers
                • ExpressionNumberState
                • ExpressionQuoteState
                • ExpressionSymbolState
                • ExpressionTokenizer
                • ExpressionWordState
              • Variables
                • IVariable
                • IVariableCollection
                • Variable
                • VariableCollection
              • CalculationStack
              • ExpressionCalculator
              • ExpressionException
              • SyntaxErrorCode
              • SyntaxException
            • CSV
              • CsvConstant
              • CsvQuoteState
              • CsvSymbolState
              • CsvTokenizer
              • CsvWordState
            • IO
              • IScanner
              • StringScanner
            • Mustache
              • Parsers
                • MustacheErrorCode
                • MustacheLexicalState
                • MustacheParser
                • MustacheToken
                • MustacheTokenType
              • Tokenizers
                • MustacheSpecialState
                • MustacheTokenizer
              • MustacheException
              • MustacheTemplate
            • Tokenizers
              • Generic
                • CCommentState
                • CppCommentState
                • GenericCommentState
                • GenericNumberState
                • GenericQuoteState
                • GenericSymbolState
                • GenericTokenizer
                • GenericWhitespaceState
                • GenericWordState
                • SymbolNode
                • SymbolRootNode
              • Utilities
                • CharReferenceInterval
                • CharReferenceMap
                • CharValidator
              • AbstractTokenizer
              • ICommentState
              • INumberState
              • IQuoteState
              • ISymbolState
              • ITokenizer
              • ITokenizerState
              • IWhitespaceState
              • IWordState
              • Token
              • TokenType
            • Variants
              • AbstractVariantOperations
              • IVariantOperations
              • TypeSafeVariantOperations
              • TypeUnsafeVariantOperations
              • Variant
              • VariantType
          • AWS module
            • Build
              • DefaultAwsFactory
            • Clients
              • CommandableLambdaClient
              • LambdaClient
            • Connect
              • AwsConnectionParams
              • AwsConnectionResolver
            • Containers
              • CommandableLambdaFunction
              • LambdaFunction
            • Count
              • CloudWatchCounters
              • CloudWatchUnit
            • Log
              • CloudWatchLogger
            • Services
              • CommandableLambdaService
              • ILambdaService
              • LambdaAction
              • LambdaService
            • Test
              • TestCommandableLambdaClient
              • TestLambdaClient
          • Azure module
            • Clients
              • AzureFunctionClient
              • CommandableAzureFunctionClient
            • Connect
              • AzureFunctionConnectionParams
              • AzureFunctionConnectionResolver
            • Containers
              • AzureFunction
              • AzureFunctionContextHelper
              • CommandableAzureFunction
            • Services
              • AzureFunctionAction
              • AzureFunctionService
              • CommandableAzureFunctionService
              • IAzureFunctionService
          • Cassandra module
            • Build
              • DefaultCassandraFactory
            • Connect
              • CassandraConnection
              • CassandraConnectionResolver
            • Persistence
              • CassandraPersistence
              • IdentifiableCassandraPersistence
          • Couchbase module
            • Build
              • DefaultCouchbaseFactory
            • Connect
              • CouchbaseConnection
              • CouchbaseConnectionParams
              • CouchbaseConnectionResolver
            • Persistence
              • CouchbasePersistence
              • IdentifiableCouchbasePersistence
          • DataDog module
            • Build
              • DefaultDataDogFactory
            • Clients
              • DataDogLogClient
              • DataDogLogMessage
              • DataDogMetric
              • DataDogMetricPoint
              • DataDogMetricsClient
              • DataDogMetricType
              • DataDogStatus
            • Count
              • DataDogCounters
            • Log
              • DataDogLogger
          • ElasticSearch module
            • Build
              • DefaultElasticSearchFactory
            • Log
              • ElasticSearchLogger
          • Fluentd module
            • Build
              • DefaultFluentdFactory
            • Log
              • FluentdLogger
          • GCP module
            • Clients
              • CloudFunctionClient
              • CommandableCloudFunctionClient
            • Connect
              • GcpConnectionParams
              • GcpConnectionResolver
            • Containers
              • CloudFunction
              • CloudFunctionRequestHelper
              • CommandableCloudFunction
            • Services
              • CloudFunctionAction
              • CloudFunctionService
              • CommandableCloudFunctionService
              • ICloudFunctionService
          • Kafka module
            • Build
              • DefaultKafkaFactory
              • KafkaMessageQueueFactory
            • Connect
              • IKafkaMessageListener
              • KafkaConnection
              • KafkaConnectionResolver
              • KafkaSubscription
            • Queues
              • KafkaMessageQueue
          • Memcached module
            • Build
              • DefaultMemcachedFactory
            • Cache
              • MemcachedCache
            • Lock
              • MemcachedLock
          • MongoDB module
            • Build
              • DefaultMongoDbFactory
            • Connect
              • MongoDbConnection
              • MongoDbConnectionResolver
            • Persistence
              • IdentifiableMongoDbPersistence
              • MongoDbIndex
              • MongoDbPersistence
          • MQTT module
            • Build
              • DefaultMqttFactory
              • MqttMessageQueueFactory
            • Connect
              • IMqttMessageListener
              • MqttConnection
              • MqttConnectionResolver
              • MqttSubscription
            • Queues
              • MqttMessageQueue
          • MySQL module
            • Build
              • DefaultMySqlFactory
            • Connect
              • MySqlConnection
              • MySqlConnectionResolver
            • Persistence
              • IdentifiableJsonMySqlPersistence
              • IdentifiableMySqlPersistence
              • MySqlPersistence
          • NATS module
            • Build
              • DefaultNatsFactory
              • NatsMessageQueueFactory
            • Connect
              • INatsMessageListener
              • NatsConnection
              • NatsConnectionResolver
              • NatsSubscription
            • Queues
              • NatsAbstractMessageQueue
              • NatsBareMessageQueue
              • NatsMessageQueue
          • Postgres module
            • Build
              • DefaultPostgresFactory
            • Connect
              • PostgresConnection
              • PostgresConnectionResolver
            • Persistence
              • IdentifiableJsonPostgresPersistence
              • IdentifiablePostgresPersistence
              • PostgresPersistence
          • Prometheus module
            • Build
              • DefaultPrometheusFactory
            • Count
              • PrometheusCounterConverter
              • PrometheusCounters
            • Services
              • PrometheusMetricsService
          • RabbitMQ module
            • Build
              • DefaultRabbitMQFactory
              • RabbitMQMessageQueueFactory
            • Connect
              • RabbitMQConnectionResolver
            • Queues
              • RabbitMQMessageQueue
          • Redis module
            • Build
              • DefaultRedisFactory
            • Cache
              • RedisCache
            • Lock
              • RedisLock
          • SQLite module
            • Build
              • DefaultSqliteFactory
            • Connect
              • SqliteConnection
              • SqliteConnectionResolver
            • Persistence
              • IdentifiableJsonSqlitePersistence
              • IdentifiableSqlitePersistence
              • SqlitePersistence
          • SQLServer module
            • Build
              • DefaultSqlServerFactory
            • Connect
              • SqlServerConnection
              • SqlServerConnectionResolver
            • Persistence
              • IdentifiableJsonSqlServerPersistence
              • IdentifiableSqlServerPersistence
              • SqlServerPersistence
          • Swagger module
            • Build
              • DefaultSwaggerFactory
            • Services
              • SwaggerService
          • Get help
          • Contribute
        • .NET
          • Commons module
            • Commands
              • Command
              • CommandSet
              • Event
              • ICommand
              • ICommandable
              • ICommandInterceptor
              • IEvent
              • IEventListener
              • InterceptedCommand
            • Config
              • ConfigParams
              • IConfigurable
              • IReconfigurable
              • NameResolver
              • OptionsResolver
            • Convert
              • ArrayConverter
              • BooleanConverter
              • DateTimeConverter
              • DecimalConverter
              • DoubleConverter
              • EnumConverter
              • FloatConverter
              • IntegerConverter
              • JsonConverter
              • LongConverter
              • MapConverter
              • RecursiveMapConverter
              • StringConverter
              • TimeSpanConverter
              • TypeCode
              • TypeConverter
            • Data
              • AnyValue
              • AnyValueArray
              • AnyValueMap
              • DataPage
              • FilterParams
              • IChangeable
              • ICloneable
              • IdGenerator
              • IIdentifiable
              • INamed
              • IStringIdentifiable
              • ITrackable
              • IVersioned
              • MultiString
              • PagingParams
              • ProjectionParams
              • SortField
              • SortParams
              • StringValueMap
              • TagsProcessor
              • TokenizedDataPage
              • TokenizedPagingParams
            • Errors
              • ApplicationException
              • ApplicationExceptionFactory
              • BadRequestException
              • ConfigException
              • ConflictException
              • ConnectionException
              • ErrorCategory
              • ErrorDescription
              • ErrorDescriptionFactory
              • FileException
              • InternalException
              • InvalidStateException
              • InvocationException
              • NotFoundException
              • UnauthorizedException
              • UnknownException
              • UnsupportedException
            • Random
              • RandomArray
              • RandomBoolean
              • RandomDateTime
              • RandomDouble
              • RandomFloat
              • RandomInteger
              • RandomLong
              • RandomString
              • RandomText
            • Refer
              • DependencyResolver
              • Descriptor
              • IReferenceable
              • IReferences
              • IUnreferenceable
              • Reference
              • ReferenceException
              • Referencer
              • References
            • Reflect
              • IProperties
              • MethodReflector
              • ObjectReader
              • ObjectWriter
              • PropertyReflector
              • RecursiveObjectReader
              • RecursiveObjectWriter
              • TypeDescriptor
              • TypeMatcher
              • TypeReflector
            • Run
              • Cleaner
              • Closer
              • Executor
              • FixedRateTimer
              • ICleanable
              • IClosable
              • IExecutable
              • INotifiable
              • IOpenable
              • IParameterized
              • Notifier
              • Opener
              • Parameters
            • Validate
              • AndRule
              • ArraySchema
              • AtLeastOneExistsRule