Class AbstractEngineConfiguration

java.lang.Object
org.flowable.common.engine.impl.AbstractEngineConfiguration
Direct Known Subclasses:
CmmnEngineConfiguration, DmnEngineConfiguration, EventRegistryEngineConfiguration, IdmEngineConfiguration, ProcessEngineConfiguration

public abstract class AbstractEngineConfiguration extends Object
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
    • NO_TENANT_ID

      public static final String NO_TENANT_ID
      The tenant id indicating 'no tenant'
      See Also:
    • 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:
    • DB_SCHEMA_UPDATE_CREATE

      public static final String DB_SCHEMA_UPDATE_CREATE
      See Also:
    • DB_SCHEMA_UPDATE_CREATE_DROP

      public static final String DB_SCHEMA_UPDATE_CREATE_DROP
      See Also:
    • 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:
    • 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:
    • 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
    • dataSource

      protected DataSource dataSource
    • commonSchemaManager

      protected SchemaManager commonSchemaManager
    • schemaManager

      protected SchemaManager schemaManager
    • 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
    • commandExecutor

      protected CommandExecutor commandExecutor
    • defaultCommandInterceptors

      protected Collection<? extends CommandInterceptor> defaultCommandInterceptors
    • defaultCommandConfig

      protected CommandConfig defaultCommandConfig
    • schemaCommandConfig

      protected CommandConfig schemaCommandConfig
    • commandContextFactory

      protected CommandContextFactory commandContextFactory
    • commandInvoker

      protected CommandInterceptor commandInvoker
    • agendaOperationRunner

      protected AgendaOperationRunner agendaOperationRunner
    • agendaOperationExecutionListeners

      protected Collection<AgendaOperationExecutionListener> agendaOperationExecutionListeners
    • customPreCommandInterceptors

      protected List<CommandInterceptor> customPreCommandInterceptors
    • customPostCommandInterceptors

      protected List<CommandInterceptor> customPostCommandInterceptors
    • commandInterceptors

      protected List<CommandInterceptor> commandInterceptors
    • engineConfigurations

      protected Map<String,AbstractEngineConfiguration> engineConfigurations
    • serviceConfigurations

      protected Map<String,AbstractServiceConfiguration> serviceConfigurations
    • classLoader

      protected ClassLoader classLoader
    • useClassForNameClassLoading

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

      protected List<EngineLifecycleListener> engineLifecycleListeners
    • eventRegistryEventConsumers

      protected Map<String,EventRegistryEventConsumer> eventRegistryEventConsumers
    • isDbHistoryUsed

      protected boolean isDbHistoryUsed
    • dbSqlSessionFactory

      protected DbSqlSessionFactory dbSqlSessionFactory
    • sqlSessionFactory

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

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

      protected TransactionContextFactory transactionContextFactory
    • 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
    • dependentEngineMybatisTypeAliasConfigs

      protected List<MybatisTypeAliasConfigurator> dependentEngineMybatisTypeAliasConfigs
    • dependentEngineMybatisTypeHandlerConfigs

      protected List<MybatisTypeHandlerConfigurator> dependentEngineMybatisTypeHandlerConfigs
    • customSessionFactories

      protected List<SessionFactory> customSessionFactories
    • sessionFactories

      protected Map<Class<?>,SessionFactory> sessionFactories
    • enableEventDispatcher

      protected boolean enableEventDispatcher
    • eventDispatcher

      protected FlowableEventDispatcher eventDispatcher
    • eventListeners

      protected List<FlowableEventListener> eventListeners
    • typedEventListeners

      protected Map<String,List<FlowableEventListener>> typedEventListeners
    • additionalEventDispatchActions

      protected List<EventDispatchAction> additionalEventDispatchActions
    • loggingListener

      protected LoggingListener loggingListener
    • 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.
    • propertyDataManager

      protected PropertyDataManager propertyDataManager
    • byteArrayDataManager

      protected ByteArrayDataManager byteArrayDataManager
    • tableDataManager

      protected TableDataManager tableDataManager
    • propertyEntityManager

      protected PropertyEntityManager propertyEntityManager
    • byteArrayEntityManager

      protected ByteArrayEntityManager byteArrayEntityManager
    • customPreDeployers

      protected List<EngineDeployer> customPreDeployers
    • customPostDeployers

      protected List<EngineDeployer> customPostDeployers
    • deployers

      protected List<EngineDeployer> deployers
    • enableConfiguratorServiceLoader

      protected boolean enableConfiguratorServiceLoader
    • configurators

      protected List<EngineConfigurator> configurators
    • allConfigurators

      protected List<EngineConfigurator> allConfigurators
    • idmEngineConfigurator

      protected EngineConfigurator idmEngineConfigurator
    • eventRegistryConfigurator

      protected EngineConfigurator eventRegistryConfigurator
    • PRODUCT_NAME_POSTGRES

      public static final String PRODUCT_NAME_POSTGRES
      See Also:
    • PRODUCT_NAME_CRDB

      public static final String PRODUCT_NAME_CRDB
      See Also:
    • DATABASE_TYPE_H2

      public static final String DATABASE_TYPE_H2
      See Also:
    • DATABASE_TYPE_HSQL

      public static final String DATABASE_TYPE_HSQL
      See Also:
    • DATABASE_TYPE_MYSQL

      public static final String DATABASE_TYPE_MYSQL
      See Also:
    • DATABASE_TYPE_ORACLE

      public static final String DATABASE_TYPE_ORACLE
      See Also:
    • DATABASE_TYPE_POSTGRES

      public static final String DATABASE_TYPE_POSTGRES
      See Also:
    • DATABASE_TYPE_MSSQL

      public static final String DATABASE_TYPE_MSSQL
      See Also:
    • DATABASE_TYPE_DB2

      public static final String DATABASE_TYPE_DB2
      See Also:
    • DATABASE_TYPE_COCKROACHDB

      public static final String DATABASE_TYPE_COCKROACHDB
      See Also:
    • beans

      protected Map<Object,Object> beans
    • idGenerator

      protected IdGenerator idGenerator
    • 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:
    • DEFAULT_ORACLE_MAX_LENGTH_STRING

      public static final int DEFAULT_ORACLE_MAX_LENGTH_STRING
      See Also:
    • 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 Details

    • AbstractEngineConfiguration

      public AbstractEngineConfiguration()
  • Method Details