The following table describes the ZooKeeper properties for the Ratings and Reviews microservice:

S.NOPROPERTYDESCRIPTION
1server.servlet.contextPathThis property holds the Spring Boot application's context path.
2server.tomcat.max-threadsThis property sets the maximum number of threads for the embedded Tomcat server.
3server.tomcat.accesslog.enabledThis property controls Tomcat logs for the Spring Boot application.
4server.tomcat.accesslog.patternThis property sets the pattern for writing logs in Tomcat.
5server.tomcat.accesslog.directoryThis property holds the directory details for storing access log.
6server.ssl.enabledThis property controls the SSL configuration for the Spring Boot application.
7server.ssl.key-storeThis property holds the keystore PrivateKeyEntry, which will be used as the SSL certificate for the microservice.
8server.ssl.key-store-passwordThis property holds the keystore password for opening the keystore mentioned in the key-store property.
9server.ssl.key-store-typeThis property holds the keystore type.
10server.ssl.key-aliasThis property holds the keystore alias name configured during import using the keytool utility.
11server.ssl.enabled-protocolsThis property controls the SSL configuration for the Spring Boot application.
12skava.contentrepository.defaultImplClassThis property specifies the name of the default class used to select a content repository, which specifies the type of storage.
13skava.contentrepository.enabledThis property enables or disables a content repository. The value true enables a content repository.
14skava.contentrepository.urlEncodedThis property enables or disables the URL encoding of the content repository.
15skava.contentrepository.properties.s3RegionThis property sets the S3 region of the content repository.
16skava.contentrepository.properties.cloudFrontDomainThis property sets the cloud front domain of the content repository.
17skava.swaggerglobalparams.enabledThis property indicates the Swagger global params. The default value is false. If this property value is set to true, the Swagger global params from the application .yml will be referred to and added in the Swagger UI.
18skava.cors.enabledThis property controls the SSL configuration for the Spring Boot application.
19skava.cors.allowedHeadersThis property contains the allowed headers value.
20skava.cors.allowedMethodsThis property contains allowed methods for the Spring Boot controller.
21skava.cors.allowedOriginsThis property sets allowedOrigins for a CORS request.
22skava.cors.exposedHeadersThis property sets exposedHeaders for a CORS request.
23skava.cors.maxAgeThis property sets maxAge for a CORS request. The value is mentioned in seconds.
24skava.auditlog.enabledThis property enables or disables the audit log component.
25skava.auditlog.file-locationThis property sets the file location of the audit log component.
26skava.auditlog.layout-typeThis property sets the layout type of the audit log component.
27skava.auditlog.customLayoutFormatThis property holds the custom layout property information.
28skava.auditlog.db.enabledThis property specifies whether to store the audit logs in the MySQL DB or not. The value can be:
  • true - Indicates the audit logs are stored in MySQL DB.
  • false - Indicates the audit logs are not stored in MySQL DB.
29skava.auditlog.db.urlThis property holds the DB URL of the MySQL server.
30skava.auditlog.db.userNameThis property sets the username of the MySQL server for audit logs.
31skava.authorization.authExpiryTimeMinsThis property holds the expiry time of authorization token generated using the getTestToken API call. The value is mentioned in minutes.
32skava.authorization.authHeaderThis property holds the HTTP request header name in which the authorization token (JWT) is passed by the caller. Since the functionality of validating token is inherited from the Skava Framework, this property's value identifies the correct header and the header value is considered for access/authorization checks.
33skava.authorization.enabledThis property indicates whether the authorization component is enabled or disabled for the corresponding microservice. If the value is set as false, then all APIs are open to access without any authorization check and this is not recommended for the production or public APIs. For the production, production-like, or public environments, this property should be enabled (true).
34skava.authorization.tokenSecretThis property holds the secret which will be used to verify the signature of the JWT passed by the caller. Only if the JWT passed by the caller found valid with respect to signature, expiry and having necessary privileges, the request will be processed further.
35skava.authorization.superAdminRoleNameThis property indicates the Super Admin role name for the corresponding microservice.
36skava.cache.enabledThis property enables or disables the cache.
37skava.cache.enableCascadeThis property enables or disables the Cascade cache.
38skava.cache.useOnlyL1CacheThis property enables or disables the L1 cache.
39skava.cache.useOnlyL2CacheThis property enables or disables the L2 cache (that is, in-memory cache).
40skava.cache.cascadeCacheNamesThis property enables the Cascade cache by its name.
41skava.cache.localCache.typeThis property sets the local cache type for L1 cache used in the cascade cache (uses both in-memory cache and server-side cache using Redis).
42skava.cache.localCache.config.ratingandreviewscollectionattributes.cacheSizeThis property sets the local cache entry size of the collection attributes.
43skava.cache.localCache.config.ratingandreviewscollectionattributes.timeToLiveInSecondsThis property sets the local cache expiry time (in seconds) of the collection attributes.
44skava.cache.localCache.config.ratingandreviewscollectionattributes.maxIdleInSecondsThis property sets the local cache maximum idle time (in seconds) of the collection attributes.
45skava.cache.localCache.config.ratingandreviewscollection.timeToLiveInSecondsThis property sets the local cache expiry time (in seconds) of the collections.
46skava.cache.localCache.config.ratingandreviewscollectionattributes.maxIdleInSecondsThis property sets the local cache maximum idle time (in seconds) of the collections.
47skava.cache.redis.clusterEnabledThis property enables or disables the cluster of the Redis server.
48skava.cache.redis.cluster.maxRedirectsThis property contains the maximum number of redirects to follow when executing commands across the clusters of the Redis server.
49skava.cache.redis.sentinel.masterThis property contains the name of the Redis server.
50skava.cache.redis.cacheNamesThis property holds the Redis cache names used by this application.
51skava.cache.redis.clearCacheEventNameThis property sets the event name for cache clear operation.
52skava.cache.redis.databaseThis property holds the Redis database index used by the connection factory.
53skava.cache.redis.enabledThis property indicates whether the Redis component needs to be enabled or disabled for this application. It is recommended to enable (that is, setting the value true) for the production and production-grade environments (like performance).
54skava.cache.redis.expTimeToliveThis property holds the expiration time of Redis entries, that is, the maximum time the objects are requested to be held in the Redis server. With this property, you can request Redis to hold the objects for the specified time, but it is the LRU/LCU which determines how long an entry survives in the cache.
55skava.cache.redis.hostThis property holds the Redis server's hostname/IP for caching objects.
56skava.cache.redis.passwordThis property holds the password for connecting to the Redis server. This is required if the authentication is enabled for the Redis server. It is recommended to enable (that is, setting the value true) for the production cache server environment.
57skava.cache.redis.portThis property holds the Redis server's port for the application to connect for both read and write cache operations.
58skava.cache.redis.sslThis property enables or disables the SSL in the Redis server:
  • true - If SSL is enabled in the Redis server.
  • false - If SSL is not enabled in the Redis server.
59skava.cache.redis.timeoutThis property holds the connection timeout value of all Redis connections for both read and write operations.
60skava.cache.redis.urlThis property specifies the URL of the Redis server.
61skava.cache.redis.maxTimeToliveThis property holds the expiration time of Redis entries, that is, the maximum time the objects are requested to be held in the Redis server. Using this property, you can request Redis server to hold the objects for a specified time, but it is the LRU/LCU, which determines how long an entry survives in the cache.
62skava.event.enabledThis property enables or disables the event component.
63skava.event.rabbitmq.enabledThis property enables or disables the RabbitMQ server for the event component.
64skava.event.rabbitmq.hostThis property holds the host name of the RabbitMQ server.
65skava.event.rabbitmq.userNameThis property holds the username of the RabbitMQ server.
66skava.event.rabbitmq.passwordThis property holds the password of the RabbitMQ server.
67skava.event.rabbitmq.portThis property holds the port of the RabbitMQ server.
68skava.event.rabbitmq.queueNameThis property sets the queue name used by the event component.
69skava.event.rabbitmq.routingKeyThis property sets the routing key for RabbitMQ server.
70skava.event.rabbitmq.topicExchangeThis property sets the topic exchange for RabbitMQ server.
71skava.event.rabbitmq.virtualHostThis property sets the virtual host for RabbitMQ server.
72skava.event.rabbitmq.ssl.enabledThis property enables or disables SSL (Secure Socket Layer) support in the RabbitMQ server for the event component
73skava.event.rabbitmq.ssl.algorithmThis property sets the SSL (Secure Socket Layer) algorithm used for RabbitMQ server.
74skava.hibernate.dialectThis property represents a dialect of SQL implemented by a particular RDBMS.
75skava.hibernate.enabledThis property enables or disables the Hibernate component.
76skava.hibernate.formatSqlThis property formats the generated SQL statement to make it more readable.
77skava.hibernate.hbm2ddlAutoThis property sets the strategies used for DDL generation.
78skava.hibernate.newGeneratorMappingsThis property enables or disables the generator mappings.
79skava.hibernate.passwordThis property sets the password for the Hibernate component.
80skava.hibernate.portThis property sets the port for Hibernate component.
81skava.hibernate.showSqlThis property prints the Hibernate's SQL query in the service log file when set to true.
82skava.hibernate.urlThis property sets the database URL.
83skava.hibernate.c3p0MaxStatementsThis property indicates the maximum number of prepared statements in the cache, which increases the performance. Hibernate default value is 0 and the caching is disabled.
84skava.hibernate.c3p0IdleTestPeriodThis property holds the idle time (in seconds) before a connection is validated automatically. If the given number is greater than 0, the Hybernate connection pool c3p0 tests all idle connections pooled, but validates the connections for every number of seconds.
85skava.hibernate.packageToScanThis property indicates the Java package containing all the database entity objects to be scanned by the Hibernate component.
86skava.hibernate.initialPoolSizeThis property contains the number of connections a pool tries to acquire upon startup. The default value is 3.
87skava.hibernate.acquireIncrementThis property determines how many connections at a time c3p0 tries to acquire when the pool is exhausted. The default value is 3.
88skava.hibernate.hikari.enabledThis property enables or disables the Hibernate Hikari component.
89skava.hibernate.hikari.dataSourceClassNameThis property is available only via programmatic configuration or IoC container. This property allows you to directly set the instance of the DataSource to be wrapped by the pool, rather than having HikariCP construct it via reflection. This can be useful in some dependency injection frameworks. When this property is specified, the dataSourceClassName property and all DataSource-specific properties will be ignored. There is no default value.
90skava.hibernate.hikari.maximumPoolSizeThis property controls the maximum size of the pool, including both idle and in-use connections. This value determines the maximum number of actual connections to the database backend. The value is determined by your execution environment. When the pool reaches to this size and no idle connections are available, the call getConnection() block for up to connectionTimeout milliseconds before timing out. The default value is 10.
91skava.hibernate.hikari.idleTimeoutThis property controls the maximum amount of time that a connection is allowed to sit idle in the pool. This setting only applies when minimumIdle is defined to be less than maximumPoolSize. The idle connections will not be retired until the pool reaches minimumIdle connections. Whether a connection is retired as idle or not is subject to a maximum variation of +30 seconds, and average variation of +15 seconds. A connection will never be retired as idle before this timeout. A value of 0 indicates the idle connections are never removed from the pool. The minimum allowed value is 10000ms (10 seconds). The default value is 600000 ms (10 minutes).
92skava.hibernate.hikari.prepStmtCacheSqlLimitThis property sets the SQL limit of the PreparedStatement to be cached.
93skava.localization.default-localeThis property indicates whether the localization component is enabled or not. The value:
  • true indicates that the localization component has been enabled
  • false indicates that the localization component has been disabled
94skava.localization.enabledThis property indicates whether the localization component is enabled or not. The value:
  • true indicates that the localization component has been enabled
  • false indicates that the localization component has been disabled
95skava.localization.externalPathThis property holds the external path from where the localized messages are to be read from.
96skava.localization.resourceBundleBaseNameThis property holds the resource bundle using the specified base name.
97skava.localization.cookieEnabledThis property indicates whether the localization component cookie is enabled or not. The value:
  • true indicates that the localization component cookie has been enabled
  • false indicates that the localization component cookie has been disabled
98skava.log.enabledThis property indicates whether the log component is enabled or not. The value:
  • true indicates that the log component has been enabled
  • false indicates that the log component has been disabled
99skava.log.fileAppenderEnabledThis property indicates whether the log needs to be appended to a log file or not. If set to true the log is written to the log file as specified in the log4j2.yml file.
100skava.log.fluentdHostThis property holds the host name for Fluentd server instance where the log will be aggregated.
101spring.sleuth.trace-id128This property indicates whether the sleuth 128 bit traceid in the logs is enabled or not. The default value is true.
102spring.application.nameThis property sets the application name of Spring Boot.
103spring.autoconfigure.excludeThis property holds the classes that are to be excluded from the Spring's auto-configuration.
104spring.cloud.zookeeper.enabledThis property enables or disables the ZooKeeper server.
105spring.cloud.zookeeper.connect-stringThis property specifies the location of the server when it locates somewhere other than localhost:2181. This configuration is required to locate the server.
106spring.cloud.zookeeper.config.enabledThis property enables or disables the base path of the ZooKeeper.
107skava.cache.maxCacheSizeThis property holds the cache size in bytes. If the value is greater than 0, then the cache is restricted based on the value. Otherwise, no limitation for cache.
108skava.hibernate.hibernateReader.enabledThis property is used to enable the reader DB.
109skava.event.enableExternalEventThis property is used to enable/disable the external event component.
110skava.cache.redis.pool.maxActiveThis property holds the maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.
111skava.hibernate.hibernateReader.c3p0IdleTestPeriodThis property holds the idle time in seconds before a connection is automatically validated. If it is greater than 0, c3p0 will test all idle, pooled but unchecked-out connections, at the specified time period (in seconds)
112skava.cors.pathPatternThis property is used to set pathPattern for a cors request.
113skava.hibernate.c3p0MinSizeThis property holds the minimum number of JDBC connections to be held in the pool at any given time. You need to take extra care while updating this value since it has a direct impact on the performance of the application, tune only when there is a necessity.
114spring.cloud.zookeeper.config.rootThis property is used to enable/disable the ZooKeeper base path.
115skava.cache.redis.sentinel.nodesThis property indicates the comma-separated list of 'host:port' pairs.
116skava.hibernate.hibernateReader.acquireIncrementThis property determines how many connections at a time c3p0 will try to acquire when the pool is exhausted. The default value is 3.
117skava.localization.param-nameThis property is used to set the parameter name in which the localization component is used.
118spring.cloud.zookeeper.config.watcher.enabledThis property is used to enable/disable the ZooKeeper watcher.
119skava.hibernate.hibernateReader.c3p0TimeoutThis property is used to set database connection timeout for hibernate.
120skava.auditlog.db.driverClassNameThis property is used to connect to the MySQL DB for audit logs.
121skava.ratingsreviews.profanityThis property is used to set default profanity words.
122skava.event.rabbitmq.concurrentConsumersThis property is used to set the maximum allowed concurrent consumers.
123skava.hibernate.hibernateReader.initialPoolSizeThe number of connections a pool tries to acquire upon startup. The default value is 3.
124skava.cache.localCache.config.ratingandreviewscollection.cacheSizeThis property specifies the local cache entry size.
125skava.log.fluentdTagNameThis property is used to set the tag name to be added in the logs.
126skava.cache.redis.cacheNamesWithTimeToLiveMap.cache_search_countThis property is used to set the fully qualified name of the custom implementation class.
127skava.auditlog.db.passwordThis property is used to connect to the MySQL DB for audit logs.
128skava.hibernate.c3p0MaxSizeThis property holds the maximum number of JDBC connections to be held in the pool at any given time. You need to take extra care while updating this value since it has a direct impact on the performance of the application. Tune it only when there is a necessity.
129skava.hibernate.hikari.poolNameThis property represents a user-defined name for the connection pool. It appears mainly in the logging and JMX management consoles to identify pools and pool configurations. The default value is auto-generated.
130skava.hibernate.hibernateReader.urlThis property is used to read the database URL.
131skava.event.externalClassNameThis property is used to set the fully qualified name of the custom implementation class.
132skava.cache.redis.pool.maxIdleThis property holds the maximum number of idle connections in the pool. Use a negative value to indicate an unlimited number of idle connections.
133skava.log.fluentdPortThis property is used to set the port for fluentd server.
134skava.secretsmanager.classNameThis property is used to specify which class to be used for the secret management.
135skava.event.classNameThis property is used to set the fully qualified name of the custom implementation class.
136skava.event.rabbitmq.cluster-enabledThis property is used to enable/disable cluster for the RabbitMQ server.
137skava.hibernate.c3p0TimeoutThis property holds the pool’s idle connection timeout post which the connection is removed from the pool. The value mentioned here is in seconds. The value of 0 indicates that idle connections never expire.
138skava.hibernate.hikari.prepStmtCacheSizeThis property sets the cache size of the PreparedStatement.
139skava.hibernate.hibernateReader.c3p0MaxStatementsThis property holds the number of prepared statements that be cached, i.e., c3p0‘s global PreparedStatement cache. This controls the total number of Statements cached, for all Connections.
140skava.hibernate.hikari.cachePrepStmtsThis property is used to set the value to true so that other configurations, like skava.hikari.prepStmtCacheSize and skava.hikari.prepStmtCacheSqlLimit have any effect.
141skava.cache.redis.cluster.nodesThis property indicates the comma-separated list of 'host:port' pairs to bootstrap from. This represents an 'initial' list of cluster nodes and is required to have at least one entry.
142skava.event.eventbridge.regionThis property is used to set the fully qualified name of the custom implementation class.
143skava.log.fluentdAppenderEnabledThis property indicates whether the log file should be aggregated to Fluentd directly rather than to a file or not.
144skava.hibernate.hikari.maxLifetimeThis property controls the maximum lifetime of a connection in the pool. An in-use connection will never be retired, only when it is closed will it then be removed. On a connection-by-connection basis, minor negative attenuation is applied to avoid mass-extinction in the pool. We strongly recommend setting this value, and it should be several seconds shorter than any database or infrastructure imposed connection time limit. A value of 0 indicates no maximum lifetime (infinite lifetime), subject of course to the idleTimeout setting. The default value is 1800000 (i.e., 30 minutes).
145skava.hibernate.hikari.useServerPrepStmtsThis property is used to set useServerPrepStmts.
146skava.log.fluentdPatternThis property is used to set the pattern for writing logs in the fluentd server.
147skava.hibernate.driverClassNameThis property represents the class name of JDBC driver class.
148skava.event.externalFatEventClassThis property is used to set the fully qualified name of the custom implementation class.
149skava.contentrepository.properties.s3BucketThis property sets the S3 bucket of the content repository.
150skava.cache.redis.clientThis property represents the type of client for redis connection.
151skava.event.rabbitmq.addressesThis property is used to set the addresses for the RabbitMQ server cluster.
152skava.cache.localCache.config.ratingandreviewscollection.maxIdleInSecondsThis property enables the local cache maximum idle time in seconds.
153skava.hibernate.hibernateReader.c3p0MaxSizeThis property holds the maximum number of JDBC connections to be held in the pool at any given time. You need to take extra care while updating this value since it has a direct impact on the performance of the application. Tune it only when there is a necessity.
154skava.cache.redis.pool.minIdleThis property holds the minimum number of idle connections to maintain in the pool. This setting only has an effect if it is positive.
155skava.authorization.gettesttoken.enabledThis property indicates whether the authorization endpoint for test JWT tokens is enabled or not. If it is set to true, an API will be exposed to obtain test JWT tokens.
156server.tomcat.accesslog.max-daysThe maximum number of days rotated access logs will be retained for before being deleted. If not specified, the default value is set to 10.
157skava.hibernate.hibernateReader.c3p0MinSizeThis propery holds the minimum number of JDBC connections in the pool. The default hibernate value is 1.
158skava.event.enableFatEventThis property is used to enable/disable the fat event.
159skava.event.eventbridge.eventBusNameThis property is used to set the fully qualified name of the custom implementation class.
160skava.hibernate.usernameThis property is used to set the username for hibernate.
161ZK_REDIS_SSL_ENABLEDThis property enables or disables the Redis server SSL. The default value is FALSE.
162skava.app.enabledThis property enables the app. The default value is TRUE.
163skava.app.appClassNameThis property holds the app component class name (GCP/Azure).
The default value is com.skava.core.app.gcp.GCPAppComponent.
164skava.app.hostThis property holds the service endpoint URL of the App Marketplace service.
The default value is ##ZK_SERVICE_END_POINT##.
165skava.app.apiKeyThis property holds the API key which is sent to the App for authentication.
The default value is ##ZK_APP_API_KEY##.
166ZK_REDIS_TIMEOUTThis property holds connection timeout value of Redis in milliseconds.
The default value is 10000.
167ZK_REDIS_USERNAMEThis property holds the login username of the Redis server.
The default value is empty.
168ZK_PROTOCOLSThis property enables macro support for the TLS protocol version.
169ZK_REDIS_PASSWORDThis property holds the Redis password.
170skava.cache.redis.usernameThis property indicates the login username of the Redis server.
171endpoints.loggers.enabledThis property is used to enable or disable the logger.
172web.exposure.includeThis property is used to expose the management endpoints.
173server.max-http-header-sizeTo increase http header size we have externalize this property.
174externalEventConfig.fileHostThis property is used to set the hosting events on external website.
175externalEventConfig.tempStoragePathThis property is used to set the file path for the external events.
176skava.event.rabbitmq.amqpEnabledThis property is used to enable AMQP (Advanced Message Queuing Protocol). When the value is
  • true: The RabbitMQ is enabled.
  • false: The AMQP is enabled.
Note: To enable AMQP, contact the Infra team.


Revision History
2024-07-12 | SD – Updated ZK properties.
2024-06-19 | SD – Updated ZK properties for 8.17.0 to 8.16.0.
2023-10-22 | JP – Updated content for 8.15.4 release.
2023-01-06 | JP – Updated content for 8.13.0 release.
2022-04-10 | JP – Fixed link and http issues.
2021-12-27 | AN – Updated content for 8.11 release.
2020-03-05 | AN – Page created and uploaded the contents for April 2020 release.