Class AbstractEngineConfiguration


  • public abstract class AbstractEngineConfiguration
    extends Object
    • Field Detail

      • logger

        protected final org.slf4j.Logger logger
      • DB_SCHEMA_UPDATE_FALSE

        public static final String DB_SCHEMA_UPDATE_FALSE
        Checks the version of the DB schema against the library when the form engine is being created and throws an exception if the versions don't match.
        See Also:
        Constant Field Values
      • DB_SCHEMA_UPDATE_DROP_CREATE

        public static final String DB_SCHEMA_UPDATE_DROP_CREATE
        Creates the schema when the form engine is being created and drops the schema when the form engine is being closed.
        See Also:
        Constant Field Values
      • DB_SCHEMA_UPDATE_TRUE

        public static final String DB_SCHEMA_UPDATE_TRUE
        Upon building of the process engine, a check is performed and an update of the schema is performed if it is necessary.
        See Also:
        Constant Field Values
      • forceCloseMybatisConnectionPool

        protected boolean forceCloseMybatisConnectionPool
      • databaseType

        protected String databaseType
      • jdbcDriver

        protected String jdbcDriver
      • jdbcUrl

        protected String jdbcUrl
      • jdbcUsername

        protected String jdbcUsername
      • jdbcPassword

        protected String jdbcPassword
      • dataSourceJndiName

        protected String dataSourceJndiName
      • jdbcMaxActiveConnections

        protected int jdbcMaxActiveConnections
      • jdbcMaxIdleConnections

        protected int jdbcMaxIdleConnections
      • jdbcMaxCheckoutTime

        protected int jdbcMaxCheckoutTime
      • jdbcMaxWaitTime

        protected int jdbcMaxWaitTime
      • jdbcPingEnabled

        protected boolean jdbcPingEnabled
      • jdbcPingQuery

        protected String jdbcPingQuery
      • jdbcPingConnectionNotUsedFor

        protected int jdbcPingConnectionNotUsedFor
      • jdbcDefaultTransactionIsolationLevel

        protected int jdbcDefaultTransactionIsolationLevel
      • commonSchemaManager

        protected SchemaManager commonSchemaManager
      • schemaManagementCmd

        protected Command<Void> schemaManagementCmd
      • databaseSchemaUpdate

        protected String databaseSchemaUpdate
      • useLockForDatabaseSchemaUpdate

        protected boolean useLockForDatabaseSchemaUpdate
        Whether to use a lock when performing the database schema create or update operations.
      • xmlEncoding

        protected String xmlEncoding
      • defaultCommandConfig

        protected CommandConfig defaultCommandConfig
      • schemaCommandConfig

        protected CommandConfig schemaCommandConfig
      • useClassForNameClassLoading

        protected boolean useClassForNameClassLoading
        Either use Class.forName or ClassLoader.loadClass for class loading. See http://forums.activiti.org/content/reflectutilloadclass-and-custom- classloader
      • isDbHistoryUsed

        protected boolean isDbHistoryUsed
      • sqlSessionFactory

        protected org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory
      • transactionFactory

        protected org.apache.ibatis.transaction.TransactionFactory transactionFactory
      • isBulkInsertEnabled

        protected boolean isBulkInsertEnabled
        If set to true, enables bulk insert (grouping sql inserts together). Default true. For some databases (eg DB2+z/OS) needs to be set to false.
      • maxNrOfStatementsInBulkInsert

        protected int maxNrOfStatementsInBulkInsert
        Some databases have a limit of how many parameters one sql insert can have (eg SQL Server, 2000 params (!= insert statements) ). Tweak this parameter in case of exceptions indicating too much is being put into one bulk insert, or make it higher if your database can cope with it and there are inserts with a huge amount of data.

        By default: 100 (55 for mssql server as it has a hard limit of 2000 parameters in a statement)

      • DEFAULT_MAX_NR_OF_STATEMENTS_BULK_INSERT_SQL_SERVER

        public int DEFAULT_MAX_NR_OF_STATEMENTS_BULK_INSERT_SQL_SERVER
      • mybatisMappingFile

        protected String mybatisMappingFile
      • customMybatisMappers

        protected Set<Class<?>> customMybatisMappers
      • customMybatisXMLMappers

        protected Set<String> customMybatisXMLMappers
      • customMybatisInterceptors

        protected List<org.apache.ibatis.plugin.Interceptor> customMybatisInterceptors
      • dependentEngineMyBatisXmlMappers

        protected Set<String> dependentEngineMyBatisXmlMappers
      • enableEventDispatcher

        protected boolean enableEventDispatcher
      • transactionsExternallyManaged

        protected boolean transactionsExternallyManaged
      • usingRelationalDatabase

        protected boolean usingRelationalDatabase
        Flag that can be set to configure or not a relational database is used. This is useful for custom implementations that do not use relational databases at all. If true (default), the getDatabaseSchemaUpdate() value will be used to determine what needs to happen wrt the database schema. If false, no validation or schema creation will be done. That means that the database schema must have been created 'manually' before but the engine does not validate whether the schema is correct. The getDatabaseSchemaUpdate() value will not be used.
      • usingSchemaMgmt

        protected boolean usingSchemaMgmt
        Flag that can be set to configure whether or not a schema is used. This is useful for custom implementations that do not use relational databases at all. Setting usingRelationalDatabase to true will automatically imply using a schema.
      • databaseTablePrefix

        protected String databaseTablePrefix
        Allows configuring a database table prefix which is used for all runtime operations of the process engine. For example, if you specify a prefix named 'PRE1.', Flowable will query for executions in a table named 'PRE1.ACT_RU_EXECUTION_'.

        NOTE: the prefix is not respected by automatic database schema management. If you use DB_SCHEMA_UPDATE_CREATE_DROP or DB_SCHEMA_UPDATE_TRUE, Flowable will create the database tables using the default names, regardless of the prefix configured here.

      • databaseWildcardEscapeCharacter

        protected String databaseWildcardEscapeCharacter
        Escape character for doing wildcard searches. This will be added at then end of queries that include for example a LIKE clause. For example: SELECT * FROM table WHERE column LIKE '%\%%' ESCAPE '\';
      • databaseCatalog

        protected String databaseCatalog
        database catalog to use
      • databaseSchema

        protected String databaseSchema
        In some situations you want to set the schema to use for table checks / generation if the database metadata doesn't return that correctly, see https://jira.codehaus.org/browse/ACT-1220, https://jira.codehaus.org/browse/ACT-1062
      • tablePrefixIsSchema

        protected boolean tablePrefixIsSchema
        Set to true in case the defined databaseTablePrefix is a schema-name, instead of an actual table name prefix. This is relevant for checking if Flowable-tables exist, the databaseTablePrefix will not be used here - since the schema is taken into account already, adding a prefix for the table-check will result in wrong table-names.
      • alwaysLookupLatestDefinitionVersion

        protected boolean alwaysLookupLatestDefinitionVersion
        Set to true if the latest version of a definition should be retrieved, ignoring a possible parent deployment id value
      • fallbackToDefaultTenant

        protected boolean fallbackToDefaultTenant
        Set to true if by default lookups should fallback to the default tenant (an empty string by default or a defined tenant value)
      • defaultTenantProvider

        protected DefaultTenantProvider defaultTenantProvider
        Default tenant provider that is executed when looking up definitions, in case the global or local fallback to default tenant value is true
      • enableLogSqlExecutionTime

        protected boolean enableLogSqlExecutionTime
        Enables the MyBatis plugin that logs the execution time of sql statements.
      • databaseTypeMappings

        protected Properties databaseTypeMappings
      • lockPollRate

        protected Duration lockPollRate
        Duration between the checks when acquiring a lock.
      • schemaLockWaitTime

        protected Duration schemaLockWaitTime
        Duration to wait for the DB Schema lock before giving up.
      • enableConfiguratorServiceLoader

        protected boolean enableConfiguratorServiceLoader
      • usePrefixId

        protected boolean usePrefixId
      • clock

        protected Clock clock
      • objectMapper

        protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
      • DEFAULT_GENERIC_MAX_LENGTH_STRING

        public static final int DEFAULT_GENERIC_MAX_LENGTH_STRING
        See Also:
        Constant Field Values
      • DEFAULT_ORACLE_MAX_LENGTH_STRING

        public static final int DEFAULT_ORACLE_MAX_LENGTH_STRING
        See Also:
        Constant Field Values
      • maxLengthStringVariableType

        protected int maxLengthStringVariableType
        Define a max length for storing String variable types in the database. Mainly used for the Oracle NVARCHAR2 limit of 2000 characters
    • Constructor Detail

      • AbstractEngineConfiguration

        public AbstractEngineConfiguration()