The following table describes the ZooKeeper properties for the Authorization microservice:
S.NOPROPERTYDESCRIPTION
1skava.authorization.authExpiryTimeMinsThis property holds the expiry time of authorization token generated using the getTestToken API call. The value is mentioned in minutes.
2skava.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 framework, this property’s value is used for identifying the correct header and its value is considered for access/authorization checks.
3skava.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).
4skava.authorization.gettesttokenThis 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.
5skava.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.
6skava.authorization.superAdminRoleNameThe property indicates the Super Admin role name for the corresponding microservice.
7skava.cache.redis.cacheNamesThis property holds the Redis cache names used by the application.
8skava.cache.redis.clearCacheEventNameThis property is used to set the event name for cache clear operation.
9skava.cache.redis.databaseThis property holds the Redis database index used by the connection factory.
10skava.cache.redis.enabledThis property indicates whether the Redis component needs to be enabled or disabled for this application. It is recommended that it should be enabled (true) for the production and production-grade environments (like performance).
11skava.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. Using this property you are requesting Redis to hold the objects for the specified time but it is the LRU/LCU which will determine how long an entry survives in the cache.
12skava.cache.redis.hostThis property holds the Redis server’s hostname/IP for caching objects.
13skava.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 that it should be enabled for the production environment.
14skava.cache.redis.portThis property holds the Redis server’s port for the application to connect for both read and write cache operations.
15skava.cache.redis.timeoutThis property holds the connection timeout value of all Redis connections for both read and write.
16skava.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.
17skava.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.
18skava.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.
19skava.hibernate.dialectThis property holds the dialect to be used by Hibernate. The dialect specifies the type of database used in Hibernate so that Hibernate can generate appropriate type of SQL statements.
20skava.hibernate.driverClassNameThis property holds the JDBC driver class name for making the connections to the database.
21skava.hibernate.enabledThis property indicates whether the Hibernate component is enabled or disabled for this application. It is recommended that not to update this property from the default value.
22skava.hibernate.showSqlThis property indicates whether the SQL generated by Hibernate to be printed in the log file or not. If it is set to true, will print all the SQLs generated by Hibernate as part of the dialect.
23skava.hibernate.formatSqlThis property indicates whether the SQL statements enabled for printing should be formatted or not. If this property and the property skava.hibernate.showSql is set to true then the queries are SQL formatted making it more readable.
24skava.hibernate.hbm2ddlAutoThis property holds the strategy to be used by Hibernate on startup. The possible values are validate, update, create, or create-drop which indicate the appropriate action will be taken on startup. It is recommended that the value is to be set as none in the production and/or production-like environments because where the schema will not be created every time the application starts up.
25skava.hibernate.newGeneratorMappingsThis property holds the Hibernate setting. It indicates whether the new IdentifierGenerator implementations are used for AUTO, TABLE, and SEQUENCE or not. If it is set to false, the ID generation is left to the DB sequence or the application logic. It is recommended that this property is set as false.
26skava.hibernate.packageToScanThis property indicates the Java package having all the database entity objects to be used by Hibernate component.
27skava.hibernate.passwordThis property holds the data store password to be used by Hibernate component to connect to the database.
28skava.hibernate.portThis property holds the port number of the database to be used by Hibernate component to connect to the database.
29skava.hibernate.urlThis property holds the database JDBC URL to enable the database connection.
30skava.hibernate.usernameThis property holds the username to be used by Hibernate component to connect to the database.
31skava.hibernate.c3pMinSizeThis 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.
32skava.hibernate.c3pMaxSizeThis 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 only when there is a necessity.
33skava.hibernate.c3pTimeoutThis property holds the pool’s idle connection timeout post which the connection is removed from the pool. The value is mentioned in seconds. The value 0 indicates the idle connections never expire.
34skava.hibernate.c3pMaxStatementsThis property holds the number of prepared statements that be cached. It indicates the c3p0‘s global PreparedStatement cache. This controls the total number of statements cached, for all connections.
35skava.hibernate.c3pIdelTestPeriodThis property holds the idle time in seconds before a connection is automatically validated. If the value is greater than 0, c3p0 will test all idle, pooled but unchecked-out connections, at the specified time period( in seconds).
36skava.localization.default-localeThis property holds the default locale to be used for all response messages if it has not been provided in the request.
37skava.localization.enabledThis property indicates whether the localization component is enabled or not. The value true indicates it is enabled and false indicates it is disabled.
38skava.localization.externalPathThis property holds the external path from where the localized messages are to be read from.
39skava.localization.param-nameThis property holds the parameter name in which the localization component is used.
40skava.localization.resourceBundleBaseNameThis property holds the resource bundle’s base name.
41skava.log.enabledThis property is used to set the resource bundle’s base name.
42skava.log.fileAppenderEnabledThis property indicates whether the log needs to be appended to a log file or not. If it is set to true the log is written to the log file as specified in log4j2.yml.
43skava.log.fluentdAppenderEnabledThis property indicates whether the log file should be aggregated to Fluentd directly rather than to a file or not.
44skava.log.fluentdHostThis property holds the hostname of Fluentd server instance where the log will be aggregated.
45skava.log.fluentdPortThis property holds the port of Fluentd server instance where the log will be aggregated.
46skava.log.fluentdPatternThis property holds the pattern for writing logs into the Fluentd server.
47skava.log.fluentdTagNameThis property holds the tag name to be added to the logs.
48spring.application.nameThis property holds the application name of the Spring Boot application.
49spring.autoconfigure.excludeThis property holds the classes that are to be excluded from the Spring’s autoconfiguration.
50spring.cloud.zookeeper.watcherThis property indicates whether the ZooKeeper watcher has been enabled or not. If it is set to true, the watcher is enabled and if there is any change in the ZooKeeper configuration is communicated to the server. Updated properties are loaded automatically if the implementation allows it.
51server.servlet.contextPathThis property holds the Spring Boot application’s context path.
52server.servlet.ssl.enabledThis property controls the SSL configuration of the Boot application. When it is set to true, the application is started in HTTPS protocol only and all HTTP request will be rejected.
53server.servlet.ssl.key-storeThis property holds the key store’s PrivateKeyEntry which will be used as the SSL certificate for the microservice.
54server.servlet.ssl.key-store-passwordThis property holds the key store password for accessing the key store as mentioned in the key-store property.
55server.servlet.ssl.key-store-typeThis property holds the key store type.
56server.servlet.ssl.key-aliasThis property holds the key store alias name set during the import using keytool utility.
57server.tomcat.accesslog.enabledThis property controls the Tomcat logs for the Boot application.
58server.tomcat.accesslog.patternThis property holds the pattern of the access logs to be printed. This will follow the Apache Tomcat parameters.
59server.tomcat.accesslog.directoryThis property holds the directory in which log files are created. It can be absolute or relative to the Tomcat’s base directory.
60server.tomcat.basedirThis property holds the Tomcat base directory location and this needs to be an absolute path.
61skava.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 and added in the Swagger UI.
62skava.event.rabbitmq.ssl.enabledThis property enables or disables the SSL support for RabbitMQ server.
63skava.event.rabbitmq.ssl.algorithmThis property sets the SSL algorithm, which is used for the RabbitMQ server.
64skava.event.rabbitmq.cluster-enabledThis property enables or disables the cluster for the RabbitMQ server.
65skava.event.rabbitmq.addressesThis property sets the addresses for the RabbitMQ server cluster.
66skava.hibernate.hikari.enabledThis property enables or disables the Hibernate Hikari component.
67skava.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.
68skava.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.
69skava.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.
70skava.hibernate.hikari.maximumlifetimeThis property controls the maximum lifetime of a connection in the pool. An in-use connection will never be retired, only when it is closed, it will then be removed. On a connection-by-connection basis, minor negative attenuation is applied to avoid mass-extinction in the pool. It is strongly recommend to set 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 ms (30 minutes).
71skava.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).
72skava.hibernate.hikari.prepStmtCachesizeThis property sets the cache size of the PreparedStatement.
73skava.hibernate.hikari.prepStmtCacheSqlLimitThis property sets the SQL limit of the PreparedStatement to be cached.
74skava.hibernate.hikari.cache.prepStmtsThis property sets whether the PreparedStatement is used or not.
75skava.hibernate.hikari.useServerPrepStmtThis property sets whether the server side PreparedStatement is used or not.
76skava.cache.enabledThis property enables or disables the cache.
77skava.cache.enableCascadeThis property enables or disables the Cascade cache.
78skava.cache.useOnlyL1CacheThis property enables or disables the L1 cache (that is, in-memory cache).
79skava.cache.useOnlyL2CacheThis property enables or disables the L2 cache (that is, in-memory cache).
80skava.cache.cascadeCacheNamesThis property enables the Cascade cache by its name.
81skava.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).
82skava.cache.localCache.config.authCollection.cacheSizeThis property sets the local cache entry size of all the collections.
83skava.cache.localCache.config.authCollection.timeToLiveInSecondsThis property sets the local cache expiry time (in seconds) of all the collections.
84skava.cache.localCache.config.authCollection.maxIdleInSecondsThis property sets the local cache maximum idle time (in seconds) of all the collections.
85skava.cache.redis.cacheNamesWithTimeToLiveMap.sessionThis property sets the expiration time of the register user cache messages.
86skava.cache.redis.cacheNamesWithTimeToLiveMap.guestSessionThis property sets the expiration time of the guest user cache messages.
87skava.cache.redis.clusterEnabledThis property enables or disables the cluster of the Redis server.
88skava.cache.redis.cluster.maxRedirectsThis property contains the maximum number of redirects to follow when executing commands across the clusters of the Redis server.
89skava.cache.redis.cluster.nodesThis property contains a list of comma-separated host:port pairs to bootstrap from. This represents an initial list of cluster nodes. It is required to have at least one entry.
90skava.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.
91skava.cache.redis.sentinel.masterThis property contains the name of the Redis server.
92skava.cache.redis.sentinel.nodesThis property contains a list of comma-separated host:port pairs of the Redis server.
93skava.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.
94skava.cache.redis.urlThis property specifies the URL of the Redis server.
95skava.cache.redis.embeddedThis property enables or disables the embedded Redis server URL.
96skava.cache.redis.clientThis property indicates the type of client for Redis connection.
97skava.cache.redis.cacheNamesWithTimeToLiveMap.authGrandThis property sets the expiration time (in minutes) for Redis messages. For example, 15.
98skava.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.
99ZK_REDIS_SSL_ENABLEDThis property enables or disables the Redis server SSL. The default value is FALSE.
100ZK_NUMBER_OF_ACTIVE_SESSIONSThis property signifies the number of active sessions to be maintained. The default value is empty.
101ZK_REDIS_TIMEOUTThis property holds connection timeout value of Redis in milliseconds.
The default value is 10000.
102ZK_REDIS_USERNAMEThis property holds the login username of the Redis server.
The default value is empty.
103ZK_PROTOCOLSThis property enables macro support for the TLS protocol version.
104ZK_REDIS_PASSWORDThis property holds the Redis password.
105skava.cache.redis.usernameThis property indicates the login username of the Redis server.
106endpoints.loggers.enabledThis property is used to enable or disable the logger.
107web.exposure.includeThis property is used to expose the management endpoints.
108server.max-http-header-sizeTo increase http header size we have externalize this property.
109skava.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.
2022-04-10 | JP – Fixed link and http issues.
2021-12-27 | AN – Updated content for 8.11 release.
2021-05-11 | AN – Added a missing property.
2021-01-12 | AN – Added missing properties.
2020-03-09 | AN – Updated content for April 2020 release.
2020-01-14 | AN – Updated content for February 2020 release.
2019-07-09 | AM – Updated ZK properties for July 2019 release.
2019-06-08 | PLK – Minor copyedits.
2019-05-16 | AN – Updated to a new table tool.
2019-05-14 | AN – Minor copyedits.
2019-01-21 | PLK – Uploaded the content.