Class ProcessEngineConfiguration

  • Direct Known Subclasses:
    ProcessEngineConfigurationImpl

    public abstract class ProcessEngineConfiguration
    extends java.lang.Object
    Configuration information from which a process engine can be build.

    Most common is to create a process engine based on the default configuration file:

     ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault().buildProcessEngine();
     

    To create a process engine programmatic, without a configuration file, the first option is createStandaloneProcessEngineConfiguration()

     ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration().buildProcessEngine();
     
    This creates a new process engine with all the defaults to connect to a remote h2 database (jdbc:h2:tcp://localhost/activiti) in standalone mode. Standalone mode means that Activiti will manage the transactions on the JDBC connections that it creates. One transaction per service method. For a description of how to write the configuration files, see the userguide.

    The second option is great for testing: #createStandalonInMemeProcessEngineConfiguration()

     ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration().buildProcessEngine();
     
    This creates a new process engine with all the defaults to connect to an memory h2 database (jdbc:h2:tcp://localhost/activiti) in standalone mode. The DB schema strategy default is in this case create-drop. Standalone mode means that Activiti will manage the transactions on the JDBC connections that it creates. One transaction per service method.

    On all forms of creating a process engine, you can first customize the configuration before calling the buildProcessEngine() method by calling any of the setters like this:

     ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault().setMailServerHost("gmail.com").setJdbcUsername("mickey").setJdbcPassword("mouse")
         .buildProcessEngine();
     

    See Also:
    ProcessEngines
    • Field Detail

      • DB_SCHEMA_UPDATE_FALSE

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

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

        public static final java.lang.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
      • NO_TENANT_ID

        public static final java.lang.String NO_TENANT_ID
        The tenant id indicating 'no tenant'
        See Also:
        Constant Field Values
      • processEngineName

        protected java.lang.String processEngineName
      • idBlockSize

        protected int idBlockSize
      • history

        protected java.lang.String history
      • asyncExecutorActivate

        protected boolean asyncExecutorActivate
      • mailServerHost

        protected java.lang.String mailServerHost
      • mailServerUsername

        protected java.lang.String mailServerUsername
      • mailServerPassword

        protected java.lang.String mailServerPassword
      • mailServerPort

        protected int mailServerPort
      • useSSL

        protected boolean useSSL
      • useTLS

        protected boolean useTLS
      • mailServerDefaultFrom

        protected java.lang.String mailServerDefaultFrom
      • mailSessionJndi

        protected java.lang.String mailSessionJndi
      • mailServers

        protected java.util.Map<java.lang.String,​MailServerInfo> mailServers
      • mailSessionsJndi

        protected java.util.Map<java.lang.String,​java.lang.String> mailSessionsJndi
      • databaseType

        protected java.lang.String databaseType
      • databaseSchemaUpdate

        protected java.lang.String databaseSchemaUpdate
      • jdbcDriver

        protected java.lang.String jdbcDriver
      • jdbcUrl

        protected java.lang.String jdbcUrl
      • jdbcUsername

        protected java.lang.String jdbcUsername
      • jdbcPassword

        protected java.lang.String jdbcPassword
      • dataSourceJndiName

        protected java.lang.String dataSourceJndiName
      • isDbHistoryUsed

        protected boolean isDbHistoryUsed
      • jdbcMaxActiveConnections

        protected int jdbcMaxActiveConnections
      • jdbcMaxIdleConnections

        protected int jdbcMaxIdleConnections
      • jdbcMaxCheckoutTime

        protected int jdbcMaxCheckoutTime
      • jdbcMaxWaitTime

        protected int jdbcMaxWaitTime
      • jdbcPingEnabled

        protected boolean jdbcPingEnabled
      • jdbcPingQuery

        protected java.lang.String jdbcPingQuery
      • jdbcPingConnectionNotUsedFor

        protected int jdbcPingConnectionNotUsedFor
      • jdbcDefaultTransactionIsolationLevel

        protected int jdbcDefaultTransactionIsolationLevel
      • dataSource

        protected javax.sql.DataSource dataSource
      • transactionsExternallyManaged

        protected boolean transactionsExternallyManaged
      • jpaPersistenceUnitName

        protected java.lang.String jpaPersistenceUnitName
      • jpaEntityManagerFactory

        protected java.lang.Object jpaEntityManagerFactory
      • jpaHandleTransaction

        protected boolean jpaHandleTransaction
      • jpaCloseEntityManager

        protected boolean jpaCloseEntityManager
      • clock

        protected Clock clock
      • lockTimeAsyncJobWaitTime

        protected int lockTimeAsyncJobWaitTime
        Define the default lock time for an async job in seconds. The lock time is used when creating an async job and when it expires the async executor assumes that the job has failed. It will be retried again.
      • defaultFailedJobWaitTime

        protected int defaultFailedJobWaitTime
        define the default wait time for a failed job in seconds
      • asyncFailedJobWaitTime

        protected int asyncFailedJobWaitTime
        define the default wait time for a failed async job in seconds
      • databaseTablePrefix

        protected java.lang.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.', activiti 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, activiti will create the database tables using the default names, regardless of the prefix configured here.

        Since:
        5.9
      • databaseWildcardEscapeCharacter

        protected java.lang.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 java.lang.String databaseCatalog
        database catalog to use
      • databaseSchema

        protected java.lang.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 Activiti-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.
        Since:
        5.15
      • xmlEncoding

        protected java.lang.String xmlEncoding
      • defaultCamelContext

        protected java.lang.String defaultCamelContext
      • classLoader

        protected java.lang.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
      • enableProcessDefinitionInfoCache

        protected boolean enableProcessDefinitionInfoCache
      • copyVariablesToLocalForTasks

        protected boolean copyVariablesToLocalForTasks
    • Constructor Detail

      • ProcessEngineConfiguration

        protected ProcessEngineConfiguration()
        use one of the static createXxxx methods instead
    • Method Detail

      • buildProcessEngine

        public abstract ProcessEngine buildProcessEngine()
      • createProcessEngineConfigurationFromResourceDefault

        public static ProcessEngineConfiguration createProcessEngineConfigurationFromResourceDefault()
      • createProcessEngineConfigurationFromResource

        public static ProcessEngineConfiguration createProcessEngineConfigurationFromResource​(java.lang.String resource)
      • createProcessEngineConfigurationFromResource

        public static ProcessEngineConfiguration createProcessEngineConfigurationFromResource​(java.lang.String resource,
                                                                                              java.lang.String beanName)
      • createProcessEngineConfigurationFromInputStream

        public static ProcessEngineConfiguration createProcessEngineConfigurationFromInputStream​(java.io.InputStream inputStream)
      • createProcessEngineConfigurationFromInputStream

        public static ProcessEngineConfiguration createProcessEngineConfigurationFromInputStream​(java.io.InputStream inputStream,
                                                                                                 java.lang.String beanName)
      • createStandaloneProcessEngineConfiguration

        public static ProcessEngineConfiguration createStandaloneProcessEngineConfiguration()
      • createStandaloneInMemProcessEngineConfiguration

        public static ProcessEngineConfiguration createStandaloneInMemProcessEngineConfiguration()
      • getRuntimeService

        public abstract RuntimeService getRuntimeService()
      • getTaskService

        public abstract TaskService getTaskService()
      • getHistoryService

        public abstract HistoryService getHistoryService()
      • getUserGroupManager

        public abstract org.activiti.api.runtime.shared.identity.UserGroupManager getUserGroupManager()
      • getProcessEngineName

        public java.lang.String getProcessEngineName()
      • getIdBlockSize

        public int getIdBlockSize()
      • getHistory

        public java.lang.String getHistory()
      • getMailServerHost

        public java.lang.String getMailServerHost()
      • getMailServerUsername

        public java.lang.String getMailServerUsername()
      • getMailServerPassword

        public java.lang.String getMailServerPassword()
      • getMailSessionJndi

        public java.lang.String getMailSessionJndi()
      • getMailServerPort

        public int getMailServerPort()
      • getMailServerUseSSL

        public boolean getMailServerUseSSL()
      • getMailServerUseTLS

        public boolean getMailServerUseTLS()
      • getMailServerDefaultFrom

        public java.lang.String getMailServerDefaultFrom()
      • setMailServerDefaultFrom

        public ProcessEngineConfiguration setMailServerDefaultFrom​(java.lang.String mailServerDefaultFrom)
      • getMailServer

        public MailServerInfo getMailServer​(java.lang.String tenantId)
      • getMailServers

        public java.util.Map<java.lang.String,​MailServerInfo> getMailServers()
      • getMailSessionJndi

        public java.lang.String getMailSessionJndi​(java.lang.String tenantId)
      • getMailSessionsJndi

        public java.util.Map<java.lang.String,​java.lang.String> getMailSessionsJndi()
      • setMailSessionsJndi

        public ProcessEngineConfiguration setMailSessionsJndi​(java.util.Map<java.lang.String,​java.lang.String> mailSessionsJndi)
      • getDatabaseType

        public java.lang.String getDatabaseType()
      • getDatabaseSchemaUpdate

        public java.lang.String getDatabaseSchemaUpdate()
      • getDataSource

        public javax.sql.DataSource getDataSource()
      • getJdbcDriver

        public java.lang.String getJdbcDriver()
      • getJdbcUrl

        public java.lang.String getJdbcUrl()
      • getJdbcUsername

        public java.lang.String getJdbcUsername()
      • getJdbcPassword

        public java.lang.String getJdbcPassword()
      • isTransactionsExternallyManaged

        public boolean isTransactionsExternallyManaged()
      • setTransactionsExternallyManaged

        public ProcessEngineConfiguration setTransactionsExternallyManaged​(boolean transactionsExternallyManaged)
      • isDbHistoryUsed

        public boolean isDbHistoryUsed()
      • getJdbcMaxActiveConnections

        public int getJdbcMaxActiveConnections()
      • getJdbcMaxIdleConnections

        public int getJdbcMaxIdleConnections()
      • getJdbcMaxCheckoutTime

        public int getJdbcMaxCheckoutTime()
      • getJdbcMaxWaitTime

        public int getJdbcMaxWaitTime()
      • isJdbcPingEnabled

        public boolean isJdbcPingEnabled()
      • getJdbcPingQuery

        public java.lang.String getJdbcPingQuery()
      • getJdbcPingConnectionNotUsedFor

        public int getJdbcPingConnectionNotUsedFor()
      • getJdbcDefaultTransactionIsolationLevel

        public int getJdbcDefaultTransactionIsolationLevel()
      • setJdbcDefaultTransactionIsolationLevel

        public ProcessEngineConfiguration setJdbcDefaultTransactionIsolationLevel​(int jdbcDefaultTransactionIsolationLevel)
      • isAsyncExecutorActivate

        public boolean isAsyncExecutorActivate()
      • getClassLoader

        public java.lang.ClassLoader getClassLoader()
      • isUseClassForNameClassLoading

        public boolean isUseClassForNameClassLoading()
      • setUseClassForNameClassLoading

        public ProcessEngineConfiguration setUseClassForNameClassLoading​(boolean useClassForNameClassLoading)
      • getJpaEntityManagerFactory

        public java.lang.Object getJpaEntityManagerFactory()
      • setJpaEntityManagerFactory

        public ProcessEngineConfiguration setJpaEntityManagerFactory​(java.lang.Object jpaEntityManagerFactory)
      • isJpaHandleTransaction

        public boolean isJpaHandleTransaction()
      • isJpaCloseEntityManager

        public boolean isJpaCloseEntityManager()
      • getJpaPersistenceUnitName

        public java.lang.String getJpaPersistenceUnitName()
      • setJpaPersistenceUnitName

        public ProcessEngineConfiguration setJpaPersistenceUnitName​(java.lang.String jpaPersistenceUnitName)
      • getDataSourceJndiName

        public java.lang.String getDataSourceJndiName()
      • getDefaultCamelContext

        public java.lang.String getDefaultCamelContext()
      • getDatabaseTablePrefix

        public java.lang.String getDatabaseTablePrefix()
      • isTablePrefixIsSchema

        public boolean isTablePrefixIsSchema()
      • getDatabaseWildcardEscapeCharacter

        public java.lang.String getDatabaseWildcardEscapeCharacter()
      • setDatabaseWildcardEscapeCharacter

        public ProcessEngineConfiguration setDatabaseWildcardEscapeCharacter​(java.lang.String databaseWildcardEscapeCharacter)
      • getDatabaseCatalog

        public java.lang.String getDatabaseCatalog()
      • getDatabaseSchema

        public java.lang.String getDatabaseSchema()
      • getXmlEncoding

        public java.lang.String getXmlEncoding()
      • getClock

        public Clock getClock()
      • getLockTimeAsyncJobWaitTime

        public int getLockTimeAsyncJobWaitTime()
      • getDefaultFailedJobWaitTime

        public int getDefaultFailedJobWaitTime()
      • getAsyncFailedJobWaitTime

        public int getAsyncFailedJobWaitTime()
      • isEnableProcessDefinitionInfoCache

        public boolean isEnableProcessDefinitionInfoCache()
      • setEnableProcessDefinitionInfoCache

        public ProcessEngineConfiguration setEnableProcessDefinitionInfoCache​(boolean enableProcessDefinitionInfoCache)
      • setCopyVariablesToLocalForTasks

        public ProcessEngineConfiguration setCopyVariablesToLocalForTasks​(boolean copyVariablesToLocalForTasks)
      • isCopyVariablesToLocalForTasks

        public boolean isCopyVariablesToLocalForTasks()