Class DataObjectEngineConfiguration

java.lang.Object
org.flowable.common.engine.impl.AbstractEngineConfiguration
org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<DataObjectEngine>
com.flowable.dataobject.engine.DataObjectEngineConfiguration
All Implemented Interfaces:
DataObjectEngineConfigurationApi, org.flowable.common.engine.impl.HasVariableTypes, org.flowable.common.spring.SpringEngineConfiguration, Aware, ApplicationContextAware, Lifecycle, Phased, SmartLifecycle

public class DataObjectEngineConfiguration extends org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<DataObjectEngine> implements org.flowable.common.spring.SpringEngineConfiguration, DataObjectEngineConfigurationApi, org.flowable.common.engine.impl.HasVariableTypes
Author:
Filip Hrisafov
  • Field Details

    • DEFAULT_MYBATIS_MAPPING_FILE

      public static final String DEFAULT_MYBATIS_MAPPING_FILE
      See Also:
    • DEFAULT_ENGINE_NAME

      public static final String DEFAULT_ENGINE_NAME
      See Also:
    • PHASE

      public static final int PHASE
      See Also:
    • KEY_DATA_OBJECT_ENGINE_CONFIG

      public static final String KEY_DATA_OBJECT_ENGINE_CONFIG
      See Also:
    • dataObjectEngineName

      protected String dataObjectEngineName
    • dataObjectRepositoryService

      protected DataObjectRepositoryService dataObjectRepositoryService
    • dataObjectRuntimeService

      protected DataObjectRuntimeService dataObjectRuntimeService
    • dataObjectManagementService

      protected DataObjectManagementService dataObjectManagementService
    • dataObjectDataSource

      protected DataObjectDataSource dataObjectDataSource
    • dataObjectDataSources

      protected Map<String,DataObjectDataSource> dataObjectDataSources
    • serviceRegistryDataObjectOperations

      protected DataObjectOperations serviceRegistryDataObjectOperations
    • masterDataChangeTenantIdManager

      protected org.flowable.common.engine.impl.tenant.ChangeTenantIdManager masterDataChangeTenantIdManager
    • dataManagers

      protected final DataObjectDataManagers dataManagers
    • entityManagers

      protected final DataObjectEntityManagers entityManagers
    • transactionManager

      protected PlatformTransactionManager transactionManager
    • transactionSynchronizationAdapterOrder

      protected Integer transactionSynchronizationAdapterOrder
    • applicationContext

      protected ApplicationContext applicationContext
    • running

      protected volatile boolean running
    • dataObjectDefinitionDeployer

      protected DataObjectDefinitionDeployer dataObjectDefinitionDeployer
    • dataObjectSchemaDefinitionDeployer

      protected org.flowable.common.engine.impl.EngineDeployer dataObjectSchemaDefinitionDeployer
    • deploymentManager

      protected DataObjectDeploymentManager deploymentManager
    • dataObjectResourceConverter

      protected DataObjectResourceConverter dataObjectResourceConverter
    • dataObjectDataDictionaryTypeFactory

      protected DataObjectDataDictionaryTypeFactory dataObjectDataDictionaryTypeFactory
    • dataObjectDefinitionCacheLimit

      protected int dataObjectDefinitionCacheLimit
    • dataObjectDefinitionCache

      protected org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<DataObjectDefinitionCacheEntry> dataObjectDefinitionCache
    • variableTypes

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

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

      protected List<org.flowable.variable.api.types.VariableType> customPostVariableTypes
    • serializableVariableTypeTrackDeserializedObjects

      protected boolean serializableVariableTypeTrackDeserializedObjects
    • deploymentName

      protected String deploymentName
    • deploymentResources

      protected Resource[] deploymentResources
    • deploymentMode

      protected String deploymentMode
    • deploymentStrategies

      protected Collection<org.flowable.common.spring.AutoDeploymentStrategy<DataObjectEngine>> deploymentStrategies
    • disableDataObjectSchemaDefinitions

      protected boolean disableDataObjectSchemaDefinitions
    • enginesBuild

      protected List<String> enginesBuild
    • lifeCycleMonitor

      protected final Object lifeCycleMonitor
    • history

      protected String history
    • historyLevel

      protected org.flowable.common.engine.impl.history.HistoryLevel historyLevel
    • identityLinkServiceConfiguration

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

      protected boolean autoUpdateDataObjectSchemaDefinitions
      If set to true the liquibase changelog from the DataObjectSchemaDefinition(s) will be automatically updated during engine boot time. This property is usually OK to be set only during development time.
    • 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 Details

    • DataObjectEngineConfiguration

      public DataObjectEngineConfiguration()
  • Method Details

    • getEngineCfgKey

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

      public 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
    • initDbSqlSessionFactoryEntitySettings

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

      public void initVariableTypes()
    • getMyBatisXmlConfigurationStream

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

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

      public void setTransactionSynchronizationAdapterOrder(Integer transactionSynchronizationAdapterOrder)
    • getDataManagers

      public DataObjectDataManagers getDataManagers()
    • getEntityManagers

      public DataObjectEntityManagers getEntityManagers()
    • getServiceRegistryDataObjectOperations

      public DataObjectOperations getServiceRegistryDataObjectOperations()
    • setServiceRegistryDataObjectOperations

      public void setServiceRegistryDataObjectOperations(DataObjectOperations serviceRegistryDataObjectOperations)
    • getMasterDataChangeTenantIdManager

      public org.flowable.common.engine.impl.tenant.ChangeTenantIdManager getMasterDataChangeTenantIdManager()
    • setMasterDataChangeTenantIdManager

      public void setMasterDataChangeTenantIdManager(org.flowable.common.engine.impl.tenant.ChangeTenantIdManager masterDataChangeTenantIdManager)
    • setDataSource

      public DataObjectEngineConfiguration setDataSource(DataSource dataSource)
      Overrides:
      setDataSource in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • buildDataObjectEngine

      public DataObjectEngine buildDataObjectEngine()
    • createEngine

      protected DataObjectEngine createEngine()
      Specified by:
      createEngine in class org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<DataObjectEngine>
    • createPostEngineBuildConsumer

      protected Consumer<DataObjectEngine> createPostEngineBuildConsumer()
      Specified by:
      createPostEngineBuildConsumer in class org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<DataObjectEngine>
    • init

      protected void init()
      Specified by:
      init in class org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration<DataObjectEngine>
    • initSessionFactories

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

      protected void initServices()
    • initDataObjectDataSources

      protected void initDataObjectDataSources()
    • initChangeTenantIdManager

      public void initChangeTenantIdManager()
    • initTransactionContextFactory

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

      public void initDefaultCommandConfig()
      Overrides:
      initDefaultCommandConfig in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • 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
    • initHistoryLevel

      public void initHistoryLevel()
    • createEngineSchemaManager

      protected org.flowable.common.engine.impl.db.SchemaManager createEngineSchemaManager()
      Specified by:
      createEngineSchemaManager in class org.flowable.common.engine.impl.AbstractEngineConfiguration
    • initDeployers

      protected void initDeployers()
    • getDefaultDeployers

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

      protected void initDataObjectDefinitionCache()
    • initDataObjectResourceConverter

      protected void initDataObjectResourceConverter()
    • initDeploymentManager

      protected void initDeploymentManager()
    • initIdentityLinkServiceConfiguration

      protected void initIdentityLinkServiceConfiguration()
    • instantiateIdentityLinkServiceConfiguration

      protected org.flowable.identitylink.service.IdentityLinkServiceConfiguration instantiateIdentityLinkServiceConfiguration()
    • getTransactionManager

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

      public void setTransactionManager(PlatformTransactionManager transactionManager)
      Specified by:
      setTransactionManager in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDeploymentName

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

      public void setDeploymentName(String deploymentName)
      Specified by:
      setDeploymentName in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDeploymentResources

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

      public void setDeploymentResources(Resource[] deploymentResources)
      Specified by:
      setDeploymentResources in interface org.flowable.common.spring.SpringEngineConfiguration
    • isDisableDataObjectSchemaDefinitions

      public boolean isDisableDataObjectSchemaDefinitions()
    • setDisableDataObjectSchemaDefinitions

      public void setDisableDataObjectSchemaDefinitions(boolean disableDataObjectSchemaDefinitions)
    • getApplicationContext

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

      public void setApplicationContext(ApplicationContext applicationContext)
      Specified by:
      setApplicationContext in interface ApplicationContextAware
      Specified by:
      setApplicationContext in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDeploymentMode

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

      public void setDeploymentMode(String deploymentMode)
      Specified by:
      setDeploymentMode in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDataObjectEngineName

      public String getDataObjectEngineName()
    • setDataObjectEngineName

      public DataObjectEngineConfiguration setDataObjectEngineName(String dataObjectEngineName)
    • getDataObjectDefinitionDeployer

      public DataObjectDefinitionDeployer getDataObjectDefinitionDeployer()
    • setDataObjectDefinitionDeployer

      public DataObjectEngineConfiguration setDataObjectDefinitionDeployer(DataObjectDefinitionDeployer dataObjectDefinitionDeployer)
    • getDataObjectSchemaDefinitionDeployer

      public org.flowable.common.engine.impl.EngineDeployer getDataObjectSchemaDefinitionDeployer()
    • setDataObjectSchemaDefinitionDeployer

      public void setDataObjectSchemaDefinitionDeployer(org.flowable.common.engine.impl.EngineDeployer dataObjectSchemaDefinitionDeployer)
    • getDeploymentManager

      public DataObjectDeploymentManager getDeploymentManager()
    • setDeploymentManager

      public DataObjectEngineConfiguration setDeploymentManager(DataObjectDeploymentManager deploymentManager)
    • getIdentityLinkServiceConfiguration

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

      public DataObjectResourceConverter getDataObjectResourceConverter()
    • setDataObjectResourceConverter

      public DataObjectEngineConfiguration setDataObjectResourceConverter(DataObjectResourceConverter dataObjectResourceConverter)
    • getDataObjectDefinitionCacheLimit

      public int getDataObjectDefinitionCacheLimit()
    • setDataObjectDefinitionCacheLimit

      public DataObjectEngineConfiguration setDataObjectDefinitionCacheLimit(int dataObjectDefinitionCacheLimit)
    • getDataObjectDefinitionCache

      public org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<DataObjectDefinitionCacheEntry> getDataObjectDefinitionCache()
    • setDataObjectDefinitionCache

      public DataObjectEngineConfiguration setDataObjectDefinitionCache(org.flowable.common.engine.impl.persistence.deploy.DeploymentCache<DataObjectDefinitionCacheEntry> dataObjectDefinitionCache)
    • getHistory

      public String getHistory()
    • setHistory

      public void setHistory(String history)
    • getHistoryLevel

      public org.flowable.common.engine.impl.history.HistoryLevel getHistoryLevel()
    • setHistoryLevel

      public void setHistoryLevel(org.flowable.common.engine.impl.history.HistoryLevel historyLevel)
    • getVariableTypes

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

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

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

      public DataObjectEngineConfiguration setCustomPreVariableTypes(List<org.flowable.variable.api.types.VariableType> customPreVariableTypes)
    • getCustomPostVariableTypes

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

      public DataObjectEngineConfiguration setCustomPostVariableTypes(List<org.flowable.variable.api.types.VariableType> customPostVariableTypes)
    • getDeploymentStrategies

      public Collection<org.flowable.common.spring.AutoDeploymentStrategy<DataObjectEngine>> getDeploymentStrategies()
    • setDeploymentStrategies

      public void setDeploymentStrategies(Collection<org.flowable.common.spring.AutoDeploymentStrategy<DataObjectEngine>> deploymentStrategies)
    • start

      public void start()
      Specified by:
      start in interface Lifecycle
    • stop

      public void stop()
      Specified by:
      stop in interface Lifecycle
    • isRunning

      public boolean isRunning()
      Specified by:
      isRunning in interface Lifecycle
    • getPhase

      public int getPhase()
      Specified by:
      getPhase in interface Phased
      Specified by:
      getPhase in interface SmartLifecycle
      Specified by:
      getPhase in interface org.flowable.common.spring.SpringEngineConfiguration
    • getDataObjectRepositoryService

      public DataObjectRepositoryService getDataObjectRepositoryService()
      Specified by:
      getDataObjectRepositoryService in interface DataObjectEngineConfigurationApi
    • setDataObjectRepositoryService

      public void setDataObjectRepositoryService(DataObjectRepositoryService dataObjectRepositoryService)
    • getDataObjectRuntimeService

      public DataObjectRuntimeService getDataObjectRuntimeService()
      Specified by:
      getDataObjectRuntimeService in interface DataObjectEngineConfigurationApi
    • isJsonVariableTypeTrackObjects

      public boolean isJsonVariableTypeTrackObjects()
    • setJsonVariableTypeTrackObjects

      public void setJsonVariableTypeTrackObjects(boolean jsonVariableTypeTrackObjects)
    • setDataObjectRuntimeService

      public void setDataObjectRuntimeService(DataObjectRuntimeService dataObjectRuntimeService)
    • getDataObjectManagementService

      public DataObjectManagementService getDataObjectManagementService()
      Specified by:
      getDataObjectManagementService in interface DataObjectEngineConfigurationApi
    • setDataObjectManagementService

      public void setDataObjectManagementService(DataObjectManagementService dataObjectManagementService)
    • getDataObjectDataSource

      public DataObjectDataSource getDataObjectDataSource()
      Specified by:
      getDataObjectDataSource in interface DataObjectEngineConfigurationApi
    • setDataObjectDataSource

      public void setDataObjectDataSource(DataObjectDataSource dataObjectDataSource)
    • getDataObjectDataSources

      public Map<String,DataObjectDataSource> getDataObjectDataSources()
    • registerDataObjectDataSource

      public void registerDataObjectDataSource(DataObjectDataSource dataObjectDataSource)
    • autoDeployResources

      protected void autoDeployResources(DataObjectEngine dataObjectEngine)
    • getAutoDeploymentStrategy

      public org.flowable.common.spring.AutoDeploymentStrategy<DataObjectEngine> getAutoDeploymentStrategy(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
    • isAutoUpdateDataObjectSchemaDefinitions

      public boolean isAutoUpdateDataObjectSchemaDefinitions()
    • setAutoUpdateDataObjectSchemaDefinitions

      public void setAutoUpdateDataObjectSchemaDefinitions(boolean autoUpdateDataObjectSchemaDefinitions)
    • getDataObjectDataDictionaryFactory

      public DataObjectDataDictionaryTypeFactory getDataObjectDataDictionaryFactory()
    • setDataObjectDataDictionaryTypeFactory

      public void setDataObjectDataDictionaryTypeFactory(DataObjectDataDictionaryTypeFactory dataObjectDataDictionaryTypeFactory)