Class AppEngineConfiguration

  • All Implemented Interfaces:
    org.flowable.app.api.AppEngineConfigurationApi, org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration, org.flowable.common.engine.impl.HasVariableTypes, org.flowable.common.spring.SpringEngineConfiguration, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle
    Direct Known Subclasses:
    StandaloneInMemAppEngineConfiguration

    public class AppEngineConfiguration
    extends org.flowable.common.engine.impl.AbstractEngineConfiguration
    implements org.flowable.app.api.AppEngineConfigurationApi, org.flowable.common.spring.SpringEngineConfiguration, org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration, org.flowable.common.engine.impl.HasVariableTypes
    • Field Detail

      • DEFAULT_MYBATIS_MAPPING_FILE

        public static final java.lang.String DEFAULT_MYBATIS_MAPPING_FILE
        See Also:
        Constant Field Values
      • LIQUIBASE_CHANGELOG_PREFIX

        public static final java.lang.String LIQUIBASE_CHANGELOG_PREFIX
        See Also:
        Constant Field Values
      • appEngineName

        protected java.lang.String appEngineName
      • appManagementService

        protected org.flowable.app.api.AppManagementService appManagementService
      • disableIdmEngine

        protected boolean disableIdmEngine
      • disableEventRegistry

        protected boolean disableEventRegistry
      • executeServiceSchemaManagers

        protected boolean executeServiceSchemaManagers
      • appDefinitionCacheLimit

        protected int appDefinitionCacheLimit
      • pageDefinitionCacheLimit

        protected int pageDefinitionCacheLimit
      • appDefinitionCache

        protected org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<AppDefinitionCacheEntry> appDefinitionCache
      • expressionManager

        protected org.flowable.common.engine.impl.el.ExpressionManager expressionManager
      • preDefaultELResolvers

        protected java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preDefaultELResolvers
      • preBeanELResolvers

        protected java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preBeanELResolvers
      • postDefaultELResolvers

        protected java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> postDefaultELResolvers
      • identityLinkSchemaManager

        protected org.flowable.common.engine.impl.db.SchemaManager identityLinkSchemaManager
      • variableSchemaManager

        protected org.flowable.common.engine.impl.db.SchemaManager variableSchemaManager
      • transactionManager

        protected org.springframework.transaction.PlatformTransactionManager transactionManager
      • deploymentResources

        protected org.springframework.core.io.Resource[] deploymentResources
      • deploymentMode

        protected java.lang.String deploymentMode
      • applicationContext

        protected org.springframework.context.ApplicationContext applicationContext
      • transactionSynchronizationAdapterOrder

        protected java.lang.Integer transactionSynchronizationAdapterOrder
      • deploymentStrategies

        protected java.util.Collection<org.flowable.common.spring.AutoDeploymentStrategy<AppEngine>> deploymentStrategies
      • running

        protected volatile boolean running
      • enginesBuild

        protected java.util.List<java.lang.String> enginesBuild
      • lifeCycleMonitor

        protected final java.lang.Object lifeCycleMonitor
      • identityLinkServiceConfiguration

        protected org.flowable.identitylink.service.IdentityLinkServiceConfiguration identityLinkServiceConfiguration
      • variableTypes

        protected org.flowable.variable.api.types.VariableTypes variableTypes
      • customPreVariableTypes

        protected java.util.List<org.flowable.variable.api.types.VariableType> customPreVariableTypes
      • customPostVariableTypes

        protected java.util.List<org.flowable.variable.api.types.VariableType> customPostVariableTypes
      • variableServiceConfiguration

        protected org.flowable.variable.service.VariableServiceConfiguration variableServiceConfiguration
      • serializableVariableTypeTrackDeserializedObjects

        protected boolean serializableVariableTypeTrackDeserializedObjects
      • objectMapper

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

        protected org.flowable.common.engine.impl.calendar.BusinessCalendarManager businessCalendarManager
      • jsonVariableTypeTrackObjects

        protected boolean jsonVariableTypeTrackObjects
        This flag determines whether variables of the type 'json' and 'longJson' will be tracked.

        This means that, when true, in a JavaDelegate you can write:

        
             JsonNode jsonNode = (JsonNode) execution.getVariable("customer");
             customer.put("name", "Kermit");
         
        And the changes to the JsonNode will be reflected in the database. Otherwise, a manual call to setVariable will be needed.
    • Constructor Detail

      • AppEngineConfiguration

        public AppEngineConfiguration()
    • Method Detail

      • createAppEngineConfigurationFromResourceDefault

        public static AppEngineConfiguration createAppEngineConfigurationFromResourceDefault()
      • createAppEngineConfigurationFromResource

        public static AppEngineConfiguration createAppEngineConfigurationFromResource​(java.lang.String resource)
      • createAppEngineConfigurationFromResource

        public static AppEngineConfiguration createAppEngineConfigurationFromResource​(java.lang.String resource,
                                                                                      java.lang.String beanName)
      • createAppEngineConfigurationFromInputStream

        public static AppEngineConfiguration createAppEngineConfigurationFromInputStream​(java.io.InputStream inputStream)
      • createAppEngineConfigurationFromInputStream

        public static AppEngineConfiguration createAppEngineConfigurationFromInputStream​(java.io.InputStream inputStream,
                                                                                         java.lang.String beanName)
      • createStandaloneAppEngineConfiguration

        public static AppEngineConfiguration createStandaloneAppEngineConfiguration()
      • createStandaloneInMemAppEngineConfiguration

        public static AppEngineConfiguration createStandaloneInMemAppEngineConfiguration()
      • buildAppEngine

        public AppEngine buildAppEngine()
      • init

        protected void init()
      • initSchemaManager

        public void initSchemaManager()
        Overrides:
        initSchemaManager in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initSchemaManagementCommand

        public void initSchemaManagementCommand()
      • initAppSchemaManager

        protected void initAppSchemaManager()
      • initVariableSchemaManager

        protected void initVariableSchemaManager()
      • initIdentityLinkSchemaManager

        protected void initIdentityLinkSchemaManager()
      • initMybatisTypeHandlers

        public void initMybatisTypeHandlers​(org.apache.ibatis.session.Configuration configuration)
        Overrides:
        initMybatisTypeHandlers in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initBeans

        public void initBeans()
        Overrides:
        initBeans in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initExpressionManager

        public void initExpressionManager()
      • initCommandInvoker

        public void initCommandInvoker()
        Overrides:
        initCommandInvoker in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initServices

        protected void initServices()
      • initDataManagers

        public void initDataManagers()
        Overrides:
        initDataManagers in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initEntityManagers

        public void initEntityManagers()
        Overrides:
        initEntityManagers in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initDeployers

        protected void initDeployers()
      • getDefaultDeployers

        public java.util.Collection<? extends org.flowable.common.engine.impl.EngineDeployer> getDefaultDeployers()
      • initAppDefinitionCache

        protected void initAppDefinitionCache()
      • initPageDefinitionCache

        protected void initPageDefinitionCache()
      • initAppResourceConverter

        protected void initAppResourceConverter()
      • initDeploymentManager

        protected void initDeploymentManager()
      • getEngineCfgKey

        public java.lang.String getEngineCfgKey()
        Specified by:
        getEngineCfgKey in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • getEngineScopeType

        public java.lang.String getEngineScopeType()
        Specified by:
        getEngineScopeType in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • createTransactionInterceptor

        public org.flowable.common.engine.impl.interceptor.CommandInterceptor createTransactionInterceptor()
        Specified by:
        createTransactionInterceptor in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initDefaultCommandConfig

        public void initDefaultCommandConfig()
        Overrides:
        initDefaultCommandConfig in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initTransactionContextFactory

        public void initTransactionContextFactory()
        Overrides:
        initTransactionContextFactory in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • autoDeployResources

        protected void autoDeployResources​(AppEngine appEngine)
      • getMyBatisXmlConfigurationStream

        public java.io.InputStream getMyBatisXmlConfigurationStream()
        Specified by:
        getMyBatisXmlConfigurationStream in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initDbSqlSessionFactoryEntitySettings

        protected void initDbSqlSessionFactoryEntitySettings()
        Specified by:
        initDbSqlSessionFactoryEntitySettings in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • initVariableTypes

        public void initVariableTypes()
      • configureVariableServiceConfiguration

        public void configureVariableServiceConfiguration()
      • initVariableServiceConfiguration

        public void initVariableServiceConfiguration()
      • initIdentityLinkServiceConfiguration

        public void initIdentityLinkServiceConfiguration()
      • initBusinessCalendarManager

        public void initBusinessCalendarManager()
      • getEngineSpecificEngineConfigurators

        protected java.util.List<org.flowable.common.engine.impl.EngineConfigurator> getEngineSpecificEngineConfigurators()
        Overrides:
        getEngineSpecificEngineConfigurators in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • getEngineName

        public java.lang.String getEngineName()
        Specified by:
        getEngineName in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • getAppEngineName

        public java.lang.String getAppEngineName()
      • getAppManagementService

        public org.flowable.app.api.AppManagementService getAppManagementService()
        Specified by:
        getAppManagementService in interface org.flowable.app.api.AppEngineConfigurationApi
      • setAppManagementService

        public AppEngineConfiguration setAppManagementService​(org.flowable.app.api.AppManagementService appManagementService)
      • getAppRepositoryService

        public CoreAppRepositoryService getAppRepositoryService()
        Specified by:
        getAppRepositoryService in interface org.flowable.app.api.AppEngineConfigurationApi
      • getIdmIdentityService

        public org.flowable.idm.api.IdmIdentityService getIdmIdentityService()
      • setTableDataManager

        public AppEngineConfiguration setTableDataManager​(org.flowable.common.engine.impl.persistence.entity.TableDataManager tableDataManager)
        Overrides:
        setTableDataManager in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • getAppDefinitionCacheLimit

        public int getAppDefinitionCacheLimit()
      • setAppDefinitionCacheLimit

        public AppEngineConfiguration setAppDefinitionCacheLimit​(int appDefinitionCacheLimit)
      • getPageDefinitionCacheLimit

        public int getPageDefinitionCacheLimit()
      • setPageDefinitionCacheLimit

        public AppEngineConfiguration setPageDefinitionCacheLimit​(int pageDefinitionCacheLimit)
      • getAppDefinitionCache

        public org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<AppDefinitionCacheEntry> getAppDefinitionCache()
      • setDataSource

        public AppEngineConfiguration setDataSource​(javax.sql.DataSource dataSource)
        Overrides:
        setDataSource in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • isExecuteServiceSchemaManagers

        public boolean isExecuteServiceSchemaManagers()
      • setExecuteServiceSchemaManagers

        public void setExecuteServiceSchemaManagers​(boolean executeServiceSchemaManagers)
      • getExpressionManager

        public org.flowable.common.engine.impl.el.ExpressionManager getExpressionManager()
        Specified by:
        getExpressionManager in interface org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration
      • setExpressionManager

        public AppEngineConfiguration setExpressionManager​(org.flowable.common.engine.impl.el.ExpressionManager expressionManager)
        Specified by:
        setExpressionManager in interface org.flowable.common.engine.impl.HasExpressionManagerEngineConfiguration
      • getPreDefaultELResolvers

        public java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> getPreDefaultELResolvers()
      • setPreDefaultELResolvers

        public AppEngineConfiguration setPreDefaultELResolvers​(java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preDefaultELResolvers)
      • addPreDefaultELResolver

        public AppEngineConfiguration addPreDefaultELResolver​(org.flowable.common.engine.impl.javax.el.ELResolver elResolver)
      • getPreBeanELResolvers

        public java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> getPreBeanELResolvers()
      • setPreBeanELResolvers

        public AppEngineConfiguration setPreBeanELResolvers​(java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> preBeanELResolvers)
      • addPreBeanELResolver

        public AppEngineConfiguration addPreBeanELResolver​(org.flowable.common.engine.impl.javax.el.ELResolver elResolver)
      • getPostDefaultELResolvers

        public java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> getPostDefaultELResolvers()
      • setPostDefaultELResolvers

        public AppEngineConfiguration setPostDefaultELResolvers​(java.util.Collection<org.flowable.common.engine.impl.javax.el.ELResolver> postDefaultELResolvers)
      • addPostDefaultELResolver

        public AppEngineConfiguration addPostDefaultELResolver​(org.flowable.common.engine.impl.javax.el.ELResolver elResolver)
      • getIdentityLinkSchemaManager

        public org.flowable.common.engine.impl.db.SchemaManager getIdentityLinkSchemaManager()
      • setIdentityLinkSchemaManager

        public AppEngineConfiguration setIdentityLinkSchemaManager​(org.flowable.common.engine.impl.db.SchemaManager identityLinkSchemaManager)
      • getVariableSchemaManager

        public org.flowable.common.engine.impl.db.SchemaManager getVariableSchemaManager()
      • setVariableSchemaManager

        public AppEngineConfiguration setVariableSchemaManager​(org.flowable.common.engine.impl.db.SchemaManager variableSchemaManager)
      • getVariableTypes

        public org.flowable.variable.api.types.VariableTypes getVariableTypes()
        Specified by:
        getVariableTypes in interface org.flowable.common.engine.impl.HasVariableTypes
      • setVariableTypes

        public AppEngineConfiguration setVariableTypes​(org.flowable.variable.api.types.VariableTypes variableTypes)
        Specified by:
        setVariableTypes in interface org.flowable.common.engine.impl.HasVariableTypes
      • getCustomPreVariableTypes

        public java.util.List<org.flowable.variable.api.types.VariableType> getCustomPreVariableTypes()
      • setCustomPreVariableTypes

        public AppEngineConfiguration setCustomPreVariableTypes​(java.util.List<org.flowable.variable.api.types.VariableType> customPreVariableTypes)
      • getCustomPostVariableTypes

        public java.util.List<org.flowable.variable.api.types.VariableType> getCustomPostVariableTypes()
      • setCustomPostVariableTypes

        public AppEngineConfiguration setCustomPostVariableTypes​(java.util.List<org.flowable.variable.api.types.VariableType> customPostVariableTypes)
      • getIdentityLinkServiceConfiguration

        public org.flowable.identitylink.service.IdentityLinkServiceConfiguration getIdentityLinkServiceConfiguration()
      • setIdentityLinkServiceConfiguration

        public AppEngineConfiguration setIdentityLinkServiceConfiguration​(org.flowable.identitylink.service.IdentityLinkServiceConfiguration identityLinkServiceConfiguration)
      • getVariableServiceConfiguration

        public org.flowable.variable.service.VariableServiceConfiguration getVariableServiceConfiguration()
      • setVariableServiceConfiguration

        public AppEngineConfiguration setVariableServiceConfiguration​(org.flowable.variable.service.VariableServiceConfiguration variableServiceConfiguration)
      • isSerializableVariableTypeTrackDeserializedObjects

        public boolean isSerializableVariableTypeTrackDeserializedObjects()
      • setSerializableVariableTypeTrackDeserializedObjects

        public AppEngineConfiguration setSerializableVariableTypeTrackDeserializedObjects​(boolean serializableVariableTypeTrackDeserializedObjects)
      • setTransactionSynchronizationAdapterOrder

        public void setTransactionSynchronizationAdapterOrder​(java.lang.Integer transactionSynchronizationAdapterOrder)
      • getTransactionManager

        public org.springframework.transaction.PlatformTransactionManager getTransactionManager()
        Specified by:
        getTransactionManager in interface org.flowable.common.spring.SpringEngineConfiguration
      • setTransactionManager

        public void setTransactionManager​(org.springframework.transaction.PlatformTransactionManager transactionManager)
        Specified by:
        setTransactionManager in interface org.flowable.common.spring.SpringEngineConfiguration
      • getDeploymentResources

        public org.springframework.core.io.Resource[] getDeploymentResources()
        Specified by:
        getDeploymentResources in interface org.flowable.common.spring.SpringEngineConfiguration
      • setDeploymentResources

        public void setDeploymentResources​(org.springframework.core.io.Resource[] deploymentResources)
        Specified by:
        setDeploymentResources in interface org.flowable.common.spring.SpringEngineConfiguration
      • getApplicationContext

        public org.springframework.context.ApplicationContext getApplicationContext()
        Specified by:
        getApplicationContext in interface org.flowable.common.spring.SpringEngineConfiguration
      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)
                                   throws org.springframework.beans.BeansException
        Specified by:
        setApplicationContext in interface org.springframework.context.ApplicationContextAware
        Specified by:
        setApplicationContext in interface org.flowable.common.spring.SpringEngineConfiguration
        Throws:
        org.springframework.beans.BeansException
      • getDeploymentMode

        public java.lang.String getDeploymentMode()
        Specified by:
        getDeploymentMode in interface org.flowable.common.spring.SpringEngineConfiguration
      • setDeploymentMode

        public void setDeploymentMode​(java.lang.String deploymentMode)
        Specified by:
        setDeploymentMode in interface org.flowable.common.spring.SpringEngineConfiguration
      • getAutoDeploymentStrategy

        protected org.flowable.common.spring.AutoDeploymentStrategy<AppEngine> getAutoDeploymentStrategy​(java.lang.String mode)
        Gets the AutoDeploymentStrategy for the provided mode. This method may be overridden to implement custom deployment strategies if required, but implementors should take care not to return null.
        Parameters:
        mode - the mode to get the strategy for
        Returns:
        the deployment strategy to use for the mode. Never null
      • getDeploymentStrategies

        public java.util.Collection<org.flowable.common.spring.AutoDeploymentStrategy<AppEngine>> getDeploymentStrategies()
      • setDeploymentStrategies

        public void setDeploymentStrategies​(java.util.Collection<org.flowable.common.spring.AutoDeploymentStrategy<AppEngine>> deploymentStrategies)
      • start

        public void start()
        Specified by:
        start in interface org.springframework.context.Lifecycle
      • stop

        public void stop()
        Specified by:
        stop in interface org.springframework.context.Lifecycle
      • isRunning

        public boolean isRunning()
        Specified by:
        isRunning in interface org.springframework.context.Lifecycle
      • getDeploymentName

        public java.lang.String getDeploymentName()
        Specified by:
        getDeploymentName in interface org.flowable.common.spring.SpringEngineConfiguration
      • setDeploymentName

        public void setDeploymentName​(java.lang.String deploymentName)
        Specified by:
        setDeploymentName in interface org.flowable.common.spring.SpringEngineConfiguration
      • getObjectMapper

        public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
        Overrides:
        getObjectMapper in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • setObjectMapper

        public AppEngineConfiguration setObjectMapper​(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
        Overrides:
        setObjectMapper in class org.flowable.common.engine.impl.AbstractEngineConfiguration
      • isDisableIdmEngine

        public boolean isDisableIdmEngine()
      • isDisableEventRegistry

        public boolean isDisableEventRegistry()
      • setDisableEventRegistry

        public AppEngineConfiguration setDisableEventRegistry​(boolean disableEventRegistry)
      • getBusinessCalendarManager

        public org.flowable.common.engine.impl.calendar.BusinessCalendarManager getBusinessCalendarManager()
      • setBusinessCalendarManager

        public AppEngineConfiguration setBusinessCalendarManager​(org.flowable.common.engine.impl.calendar.BusinessCalendarManager businessCalendarManager)
      • isJsonVariableTypeTrackObjects

        public boolean isJsonVariableTypeTrackObjects()
      • setJsonVariableTypeTrackObjects

        public AppEngineConfiguration setJsonVariableTypeTrackObjects​(boolean jsonVariableTypeTrackObjects)