spring
This package contains all the tools needed for the Spring configuration.
Bean filters
Several annotations are provided to filter in/out beans and configuration classes, depending on the Spring parameters.
Annotation | Meaning | Equivalent expression |
---|---|---|
@ConditionalOnAdjustmentsWithDirectQuery | The adjustments are activated (only R/O) with DirectQuery | configuration.sign-off.enabled && starter.deployment.type == direct-query && directquery.withAdjustments |
@ConditionalOnClickHouse | DirectQuery is set to run with ClickHouse | directquery.database.type == clickhouse && starter.deployment.type == direct-query |
@ConditionalOnDirectQueryDatabase | DirectQuery is enabled | starter.deployment.type == direct-query |
@ConditionalOnInMemoryDatabase | An InMemory database is used | starter.deployment.type == in-memory |
@ConditionalOnMSSQL | DirectQuery is set to run with Microsoft SQL server | directquery.database.type == mssql && starter.deployment.type == direct-query |
@ConditionalOnNoAdjustmentsWithDirectQuery | Adjustments are deactivated with DirectQuery and sign-off compatibility | configuration.sign-off.enabled && starter.deployment.type == direct-query && ! directquery.withAdjustments |
@ConditionalOnSignOffDisabled | Adjustments and sign-off are disabled | ! configuration.sign-off.enabled |
@ConditionalOnSignOffEnabled | Adjustments and sign-off are activated | configuration.sign-off.enabled && ! starter.deployment.type == direct-query |
@ConditionalOnSignOffHierarchy | Sign-off hierarchy has to be displayed | configuration.sign-off.enabled |
@ConditionalOnSnowflake | DirectQuery is set to run with Snowflake | directquery.database.type == snowflake && starter.deployment.type == direct-query |
@ConditionalOnNettyBus | We use Netty to communicate across cubes | starter.deployment.transport == netty |
@ConditionalOnLocalBus | We use the local bus to communicate across cubes | starter.deployment.transport == local |
@ConditionalOnQueryNode | Server node contains only the query cube | starter.deployment.type == query-node |
@ConditionalOnHasDataCube | Server has some data cubes | starter.deployment.type != query-node |
@ConditionalNotOnDirectQueryDatabase | DirectQuery is not enabled | starter.deployment.type != direct-query |
Spring parameters
Value | Meaning | Property class |
---|---|---|
starter.deployment.type | Select the node type: in-memory / query-node / direct-query | |
starter.deployment.transport | The type of messaging bus: netty / local / none | |
configuration.sign-off.enabled | Sign-off feature is activated | SignOffEnabledProperties |
directquery.withAdjustments | The adjustments information is available in the database | DirectQuerySpringProperties |
directquery.clustering.enabled | The DirectQuery clustering feature is activated | ClusteringSpringProperties |
directquery.clustering.fields | Default fields used for the clustering | ClusteringSpringProperties |
directquery.clustering.clusteringPerTable | A map table of list of fields to set up the clustering | ClusteringSpringProperties |
directquery.schema.validation.validateOnStartup | The schema validation is run on startup | ValidationSpringProperties |
directquery.schema.validation.failStartupOnBadSchema | If the schema validation fails, the application will stop | ValidationSpringProperties |
directquery.database.type | The type of the connected database | DatabaseSpringProperties |
directquery.database.snowflake.connectionString | The JDBC connection string | SnowflakeSpringProperties |
directquery.database.snowflake.username | The user name for this connection - it will fill the SFSessionProperty.USER entry |
SnowflakeSpringProperties |
directquery.database.snowflake.password | The password for this connection - it will fill the SFSessionProperty.PASSWORD entry |
SnowflakeSpringProperties |
directquery.database.snowflake.warehouse | The warehouse used for computation | SnowflakeSpringProperties |
directquery.database.snowflake.feedingWarehouse | The feeding warehouse | SnowflakeSpringProperties |
directquery.database.snowflake.database | The database where the schema is located - it will also feed SFSessionProperty.DATABA SE |
SnowflakeSpringProperties |
directquery.database.snowflake.schema | The schema used by DirectQuery - it will also feed SFSessionProperty.SCHEMA |
SnowflakeSpringProperties |
directquery.database.snowflake.role | The user role used for the database access - it will fill SFSessionProperty.ROLE |
SnowflakeSpringProperties |
directquery.database.snowflake.arrayAggWrapperFunctionName | Optional User Defined Function name of the custom array agg function registered on Snowflake to wrap the ARRAY_AGG operations on multi-rows vectors | SnowflakeSpringProperties |
directquery.database.snowflake.additionalOptions | Any additional properties that need to be set, the keys should be in SFSessionProperty |
SnowflakeSpringProperties |
directquery.database.snowflake.externalDatabaseQueryTimeout | Set the external database query timeout | SnowflakeSpringProperties |
directquery.database.snowflake.maxSubQueriesAllowedInMultiStepsQuery | SnowflakeSpringProperties | |
directquery.database.snowflake.getByKeyBehavior | SnowflakeSpringProperties | |
directquery.database.snowflake.useAutoVectorizer | SnowflakeSpringProperties | |
directquery.database.snowflake.autoVectorizerDelimiter | SnowflakeSpringProperties | |
directquery.database.snowflake.minThresholdForAutoVectorizer | SnowflakeSpringProperties | |
directquery.database.snowflake.useTimeTravel | SnowflakeSpringProperties | |
directquery.database.snowflake.timeTravelDiscoveryQueryTimeout | Set the external database time-travel discovery timeout and validate user input | SnowflakeSpringProperties |
directquery.database.snowflake.maxResultSetSize | The max size of the Snowflake result set when split by Snowflake (in Bytes) | SnowflakeSpringProperties |
directquery.database.clickhouse.username | ClickhouseSpringProperties | |
directquery.database.clickhouse.password | ClickhouseSpringProperties | |
directquery.database.clickhouse.hostName | ClickhouseSpringProperties | |
directquery.database.clickhouse.port | ClickhouseSpringProperties | |
directquery.database.clickhouse.database | ClickhouseSpringProperties | |
directquery.database.clickhouse.externalDatabaseQueryTimeout | ClickhouseSpringProperties | |
directquery.database.clickhouse.maxSubQueriesAllowedInMultiStepsQuery | ClickhouseSpringProperties | |
directquery.database.clickhouse.getByKeyBehavior | ClickhouseSpringProperties | |
directquery.database.mssql.username | MSSQLSpringProperties | |
directquery.database.mssql.password | MSSQLSpringProperties | |
directquery.database.mssql.hostName | MSSQLSpringProperties | |
directquery.database.mssql.port | MSSQLSpringProperties | |
directquery.database.mssql.database | MSSQLSpringProperties | |
directquery.database.mssql.schema | MSSQLSpringProperties | |
directquery.database.mssql.encrypt | MSSQLSpringProperties | |
directquery.database.mssql.trustServerCertificate | MSSQLSpringProperties | |
directquery.database.mssql.connectRetryCount | MSSQLSpringProperties | |
directquery.database.mssql.externalDatabaseQueryTimeout | MSSQLSpringProperties | |
directquery.database.mssql.maxSubQueriesAllowedInMultiStepsQuery | MSSQLSpringProperties | |
directquery.database.mssql.getByKeyBehavior | MSSQLSpringProperties | |
directquery.database.mssql.useAutoVectorizer | MSSQLSpringProperties | |
directquery.database.mssql.autoVectorizerDelimiter | MSSQLSpringProperties | |
directquery.database.mssql.minThresholdForAutoVectorizer | MSSQLSpringProperties |