public class DataObjectEngineConfiguration extends AbstractEngineConfiguration implements SpringEngineConfiguration, DataObjectEngineConfigurationApi, HasVariableTypes
additionalEventDispatchActions, agendaOperationRunner, allConfigurators, alwaysLookupLatestDefinitionVersion, beans, byteArrayDataManager, byteArrayEntityManager, classLoader, clock, commandContextFactory, commandExecutor, commandInterceptors, commandInvoker, commonSchemaManager, configurators, customMybatisInterceptors, customMybatisMappers, customMybatisXMLMappers, customPostCommandInterceptors, customPostDeployers, customPreCommandInterceptors, customPreDeployers, customSessionFactories, DATABASE_TYPE_COCKROACHDB, DATABASE_TYPE_DB2, DATABASE_TYPE_H2, DATABASE_TYPE_HSQL, DATABASE_TYPE_MSSQL, DATABASE_TYPE_MYSQL, DATABASE_TYPE_ORACLE, DATABASE_TYPE_POSTGRES, databaseCatalog, databaseSchema, databaseSchemaUpdate, databaseTablePrefix, databaseType, databaseTypeMappings, databaseWildcardEscapeCharacter, dataSource, dataSourceJndiName, DB_SCHEMA_UPDATE_CREATE, DB_SCHEMA_UPDATE_CREATE_DROP, DB_SCHEMA_UPDATE_DROP_CREATE, DB_SCHEMA_UPDATE_FALSE, DB_SCHEMA_UPDATE_TRUE, dbSqlSessionFactory, DEFAULT_GENERIC_MAX_LENGTH_STRING, DEFAULT_MAX_NR_OF_STATEMENTS_BULK_INSERT_SQL_SERVER, DEFAULT_ORACLE_MAX_LENGTH_STRING, defaultCommandConfig, defaultCommandInterceptors, defaultTenantProvider, dependentEngineMybatisTypeAliasConfigs, dependentEngineMybatisTypeHandlerConfigs, dependentEngineMyBatisXmlMappers, deployers, enableConfiguratorServiceLoader, enableEventDispatcher, enableLogSqlExecutionTime, engineConfigurations, engineLifecycleListeners, eventDispatcher, eventListeners, eventRegistryConfigurator, eventRegistryEventConsumers, fallbackToDefaultTenant, forceCloseMybatisConnectionPool, idGenerator, idmEngineConfigurator, isBulkInsertEnabled, isDbHistoryUsed, jdbcDefaultTransactionIsolationLevel, jdbcDriver, jdbcMaxActiveConnections, jdbcMaxCheckoutTime, jdbcMaxIdleConnections, jdbcMaxWaitTime, jdbcPassword, jdbcPingConnectionNotUsedFor, jdbcPingEnabled, jdbcPingQuery, jdbcUrl, jdbcUsername, lockPollRate, logger, loggingListener, maxLengthStringVariableType, maxNrOfStatementsInBulkInsert, mybatisMappingFile, NO_TENANT_ID, objectMapper, PRODUCT_NAME_CRDB, PRODUCT_NAME_POSTGRES, propertyDataManager, propertyEntityManager, schemaCommandConfig, schemaLockWaitTime, schemaManagementCmd, schemaManager, serviceConfigurations, sessionFactories, sqlSessionFactory, tableDataManager, tablePrefixIsSchema, transactionContextFactory, transactionFactory, transactionsExternallyManaged, typedEventListeners, useClassForNameClassLoading, useLockForDatabaseSchemaUpdate, usePrefixId, usingRelationalDatabase, usingSchemaMgmt, xmlEncoding
PHASE, PHASE_DELTA
DEFAULT_PHASE
Constructor and Description |
---|
DataObjectEngineConfiguration() |
addConfigurator, addCustomSessionFactory, addEngineConfiguration, addEngineLifecycleListener, addEventRegistryEventConsumer, addServiceConfiguration, addSessionFactory, close, configuratorsAfterInit, configuratorsBeforeInit, createDbSqlSessionFactory, defaultInitDbSqlSessionFactoryEntitySettings, getAdditionalDefaultCommandInterceptors, getAdditionalEventDispatchActions, getAgendaOperationRunner, getAllConfigurators, getBeans, getByteArrayDataManager, getByteArrayEntityManager, getClassLoader, getClock, getCommandContextFactory, getCommandExecutor, getCommandInterceptors, getCommandInvoker, getCommonSchemaManager, getConfigurators, getCustomMybatisInterceptors, getCustomMybatisMappers, getCustomMybatisXMLMappers, getCustomPostCommandInterceptors, getCustomPostDeployers, getCustomPreCommandInterceptors, getCustomPreDeployers, getCustomSessionFactories, getDatabaseCatalog, getDatabaseSchema, getDatabaseSchemaUpdate, getDatabaseTablePrefix, getDatabaseType, getDatabaseWildcardEscapeCharacter, getDataSource, getDataSourceJndiName, getDbSqlSessionFactory, getDefaultCommandConfig, getDefaultCommandInterceptors, getDefaultDatabaseTypeMappings, getDefaultTenantProvider, getDefaultTenantValue, getDependentEngineMybatisTypeAliasConfigs, getDependentEngineMybatisTypeHandlerConfigs, getDependentEngineMyBatisXmlMappers, getDeployers, getEngineConfigurations, getEngineLifecycleListeners, getEngineSpecificEngineConfigurators, getEventDispatcher, getEventListeners, getEventRegistryConfigurator, getEventRegistryEventConsumers, getIdGenerator, getIdmEngineConfigurator, getJdbcDefaultTransactionIsolationLevel, getJdbcDriver, getJdbcMaxActiveConnections, getJdbcMaxCheckoutTime, getJdbcMaxIdleConnections, getJdbcMaxWaitTime, getJdbcPassword, getJdbcPingConnectionNotUsedFor, getJdbcPingQuery, getJdbcUrl, getJdbcUsername, getLockManager, getLockPollRate, getLoggingListener, getMaxLengthString, getMaxLengthStringVariableType, getMaxNrOfStatementsInBulkInsert, getMybatisMappingFile, getObjectMapper, getPropertyDataManager, getPropertyEntityManager, getResourceAsStream, getSchemaCommandConfig, getSchemaLockWaitTime, getSchemaManagementCmd, getSchemaManager, getServiceConfigurations, getSessionFactories, getSqlSessionFactory, getTableDataManager, getTransactionContextFactory, getTransactionFactory, getTypedEventListeners, getXmlEncoding, initAdditionalEventDispatchActions, initBeans, initClock, initCommandContextFactory, initCommandExecutor, initCommandExecutors, initCommandInterceptors, initCommandInvoker, initConfigurators, initCustomMybatisInterceptors, initCustomMybatisMappers, initDatabaseType, initDataSource, initDbSqlSessionFactory, initEngineConfigurations, initEventDispatcher, initEventListeners, initIdGenerator, initInterceptorChain, initMybatisConfiguration, initMyBatisLogSqlExecutionTimePlugin, initMybatisTypeHandlers, initObjectMapper, initSchemaCommandConfig, initService, initSqlSessionFactory, initTransactionFactory, initTypedEventListeners, isAlwaysLookupLatestDefinitionVersion, isBulkInsertEnabled, isDbHistoryUsed, isEnableConfiguratorServiceLoader, isEnableEventDispatcher, isEnableLogSqlExecutionTime, isFallbackToDefaultTenant, isForceCloseMybatisConnectionPool, isJdbcPingEnabled, isLoggingSessionEnabled, isTablePrefixIsSchema, isTransactionsExternallyManaged, isUseClassForNameClassLoading, isUseLockForDatabaseSchemaUpdate, isUsePrefixId, isUsingRelationalDatabase, isUsingSchemaMgmt, parseCustomMybatisXMLMappers, parseDependentEngineMybatisXMLMappers, parseMybatisConfiguration, parseMybatisXmlMapping, pathToEngineDbProperties, setAdditionalEventDispatchActions, setAgendaOperationRunner, setAlwaysLookupLatestDefinitionVersion, setBeans, setBulkInsertEnabled, setByteArrayDataManager, setByteArrayEntityManager, setClassLoader, setClock, setCommandContextFactory, setCommandExecutor, setCommandInterceptors, setCommandInvoker, setCommonSchemaManager, setConfigurators, setCustomMybatisInterceptors, setCustomMybatisMappers, setCustomMybatisXMLMappers, setCustomPostCommandInterceptors, setCustomPostDeployers, setCustomPreCommandInterceptors, setCustomPreDeployers, setCustomSessionFactories, setDatabaseCatalog, setDatabaseSchema, setDatabaseSchemaUpdate, setDatabaseTablePrefix, setDatabaseType, setDatabaseWildcardEscapeCharacter, setDataSourceJndiName, setDbHistoryUsed, setDbSqlSessionFactory, setDefaultCommandConfig, setDefaultCommandInterceptors, setDefaultTenantProvider, setDefaultTenantValue, setDependentEngineMybatisTypeAliasConfigs, setDependentEngineMybatisTypeHandlerConfigs, setDependentEngineMyBatisXmlMappers, setDeployers, setEnableConfiguratorServiceLoader, setEnableEventDispatcher, setEnableLogSqlExecutionTime, setEngineConfigurations, setEngineLifecycleListeners, setEventDispatcher, setEventListeners, setEventRegistryConfigurator, setEventRegistryEventConsumers, setFallbackToDefaultTenant, setForceCloseMybatisConnectionPool, setIdGenerator, setIdmEngineConfigurator, setJdbcDefaultTransactionIsolationLevel, setJdbcDriver, setJdbcMaxActiveConnections, setJdbcMaxCheckoutTime, setJdbcMaxIdleConnections, setJdbcMaxWaitTime, setJdbcPassword, setJdbcPingConnectionNotUsedFor, setJdbcPingEnabled, setJdbcPingQuery, setJdbcUrl, setJdbcUsername, setLockPollRate, setLoggingListener, setMaxLengthStringVariableType, setMaxNrOfStatementsInBulkInsert, setMybatisMappingFile, setObjectMapper, setPropertyDataManager, setPropertyEntityManager, setSchemaCommandConfig, setSchemaLockWaitTime, setSchemaManagementCmd, setSchemaManager, setServiceConfigurations, setSessionFactories, setSqlSessionFactory, setTableDataManager, setTablePrefixIsSchema, setTransactionContextFactory, setTransactionFactory, setTransactionsExternallyManaged, setTypedEventListeners, setUseClassForNameClassLoading, setUseLockForDatabaseSchemaUpdate, setUsePrefixId, setUsingRelationalDatabase, setUsingSchemaMgmt, setXmlEncoding
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBeans, isAutoStartup, stop
public static final String DEFAULT_MYBATIS_MAPPING_FILE
public static final String DEFAULT_ENGINE_NAME
public static final String KEY_DATA_OBJECT_ENGINE_CONFIG
public static final String LIQUIBASE_CHANGELOG_PREFIX
protected String dataObjectEngineName
protected DataObjectRepositoryService dataObjectRepositoryService
protected DataObjectRuntimeService dataObjectRuntimeService
protected DataObjectDataSource dataObjectDataSource
protected Map<String,DataObjectDataSource> dataObjectDataSources
protected DataObjectOperations serviceRegistryDataObjectOperations
protected final DataObjectDataManagers dataManagers
protected final DataObjectEntityManagers entityManagers
protected PlatformTransactionManager transactionManager
protected Integer transactionSynchronizationAdapterOrder
protected ApplicationContext applicationContext
protected volatile boolean running
protected DataObjectDefinitionDeployer dataObjectDefinitionDeployer
protected EngineDeployer dataObjectSchemaDefinitionDeployer
protected DataObjectDeploymentManager deploymentManager
protected DataObjectResourceConverter dataObjectResourceConverter
protected int dataObjectDefinitionCacheLimit
protected DeploymentCache<DataObjectDefinitionCacheEntry> dataObjectDefinitionCache
protected VariableTypes variableTypes
protected List<VariableType> customPreVariableTypes
protected List<VariableType> customPostVariableTypes
protected boolean serializableVariableTypeTrackDeserializedObjects
protected String deploymentName
protected Resource[] deploymentResources
protected String deploymentMode
protected final Object lifeCycleMonitor
protected String history
protected HistoryLevel historyLevel
protected SchemaManager identityLinkSchemaManager
protected IdentityLinkServiceConfiguration identityLinkServiceConfiguration
protected boolean autoUpdateDataObjectSchemaDefinitions
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.protected boolean jsonVariableTypeTrackObjects
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.public String getEngineCfgKey()
getEngineCfgKey
in class AbstractEngineConfiguration
public String getEngineScopeType()
getEngineScopeType
in class AbstractEngineConfiguration
public CommandInterceptor createTransactionInterceptor()
createTransactionInterceptor
in class AbstractEngineConfiguration
protected void initDbSqlSessionFactoryEntitySettings()
initDbSqlSessionFactoryEntitySettings
in class AbstractEngineConfiguration
public void initVariableTypes()
public InputStream getMyBatisXmlConfigurationStream()
getMyBatisXmlConfigurationStream
in class AbstractEngineConfiguration
public String getEngineName()
getEngineName
in class AbstractEngineConfiguration
public void setTransactionSynchronizationAdapterOrder(Integer transactionSynchronizationAdapterOrder)
public DataObjectDataManagers getDataManagers()
public DataObjectEntityManagers getEntityManagers()
public DataObjectOperations getServiceRegistryDataObjectOperations()
public void setServiceRegistryDataObjectOperations(DataObjectOperations serviceRegistryDataObjectOperations)
public DataObjectEngineConfiguration setDataSource(DataSource dataSource)
setDataSource
in class AbstractEngineConfiguration
public DataObjectEngine buildDataObjectEngine()
protected void init()
public void initSessionFactories()
initSessionFactories
in class AbstractEngineConfiguration
protected void initServices()
protected void initDataObjectDataSources()
public void initTransactionContextFactory()
initTransactionContextFactory
in class AbstractEngineConfiguration
public void initDefaultCommandConfig()
initDefaultCommandConfig
in class AbstractEngineConfiguration
public void initDataManagers()
initDataManagers
in class AbstractEngineConfiguration
public void initEntityManagers()
initEntityManagers
in class AbstractEngineConfiguration
public void initHistoryLevel()
public void initSchemaManager()
initSchemaManager
in class AbstractEngineConfiguration
protected void initIdentityLinkSchemaManager()
public void initSchemaManagementCommand()
protected void initDeployers()
public Collection<? extends EngineDeployer> getDefaultDeployers()
protected void initDataObjectDefinitionCache()
protected void initDataObjectResourceConverter()
protected void initDeploymentManager()
protected void initIdentityLinkServiceConfiguration()
protected IdentityLinkServiceConfiguration instantiateIdentityLinkServiceConfiguration()
public PlatformTransactionManager getTransactionManager()
getTransactionManager
in interface SpringEngineConfiguration
public void setTransactionManager(PlatformTransactionManager transactionManager)
setTransactionManager
in interface SpringEngineConfiguration
public String getDeploymentName()
getDeploymentName
in interface SpringEngineConfiguration
public void setDeploymentName(String deploymentName)
setDeploymentName
in interface SpringEngineConfiguration
public Resource[] getDeploymentResources()
getDeploymentResources
in interface SpringEngineConfiguration
public void setDeploymentResources(Resource[] deploymentResources)
setDeploymentResources
in interface SpringEngineConfiguration
public ApplicationContext getApplicationContext()
getApplicationContext
in interface SpringEngineConfiguration
public void setApplicationContext(ApplicationContext applicationContext)
setApplicationContext
in interface SpringEngineConfiguration
setApplicationContext
in interface ApplicationContextAware
public String getDeploymentMode()
getDeploymentMode
in interface SpringEngineConfiguration
public void setDeploymentMode(String deploymentMode)
setDeploymentMode
in interface SpringEngineConfiguration
public String getDataObjectEngineName()
public DataObjectEngineConfiguration setDataObjectEngineName(String dataObjectEngineName)
public DataObjectDefinitionDeployer getDataObjectDefinitionDeployer()
public DataObjectEngineConfiguration setDataObjectDefinitionDeployer(DataObjectDefinitionDeployer dataObjectDefinitionDeployer)
public EngineDeployer getDataObjectSchemaDefinitionDeployer()
public void setDataObjectSchemaDefinitionDeployer(EngineDeployer dataObjectSchemaDefinitionDeployer)
public DataObjectDeploymentManager getDeploymentManager()
public DataObjectEngineConfiguration setDeploymentManager(DataObjectDeploymentManager deploymentManager)
public SchemaManager getIdentityLinkSchemaManager()
public void setIdentityLinkSchemaManager(SchemaManager identityLinkSchemaManager)
public IdentityLinkServiceConfiguration getIdentityLinkServiceConfiguration()
public DataObjectResourceConverter getDataObjectResourceConverter()
public DataObjectEngineConfiguration setDataObjectResourceConverter(DataObjectResourceConverter dataObjectResourceConverter)
public int getDataObjectDefinitionCacheLimit()
public DataObjectEngineConfiguration setDataObjectDefinitionCacheLimit(int dataObjectDefinitionCacheLimit)
public DeploymentCache<DataObjectDefinitionCacheEntry> getDataObjectDefinitionCache()
public DataObjectEngineConfiguration setDataObjectDefinitionCache(DeploymentCache<DataObjectDefinitionCacheEntry> dataObjectDefinitionCache)
public String getHistory()
public void setHistory(String history)
public HistoryLevel getHistoryLevel()
public void setHistoryLevel(HistoryLevel historyLevel)
public VariableTypes getVariableTypes()
getVariableTypes
in interface HasVariableTypes
public DataObjectEngineConfiguration setVariableTypes(VariableTypes variableTypes)
setVariableTypes
in interface HasVariableTypes
public List<VariableType> getCustomPreVariableTypes()
public DataObjectEngineConfiguration setCustomPreVariableTypes(List<VariableType> customPreVariableTypes)
public List<VariableType> getCustomPostVariableTypes()
public DataObjectEngineConfiguration setCustomPostVariableTypes(List<VariableType> customPostVariableTypes)
public Collection<AutoDeploymentStrategy<DataObjectEngine>> getDeploymentStrategies()
public void setDeploymentStrategies(Collection<AutoDeploymentStrategy<DataObjectEngine>> deploymentStrategies)
public int getPhase()
getPhase
in interface SpringEngineConfiguration
getPhase
in interface Phased
getPhase
in interface SmartLifecycle
public DataObjectRepositoryService getDataObjectRepositoryService()
getDataObjectRepositoryService
in interface DataObjectEngineConfigurationApi
public void setDataObjectRepositoryService(DataObjectRepositoryService dataObjectRepositoryService)
public DataObjectRuntimeService getDataObjectRuntimeService()
getDataObjectRuntimeService
in interface DataObjectEngineConfigurationApi
public boolean isJsonVariableTypeTrackObjects()
public void setJsonVariableTypeTrackObjects(boolean jsonVariableTypeTrackObjects)
public void setDataObjectRuntimeService(DataObjectRuntimeService dataObjectRuntimeService)
public DataObjectDataSource getDataObjectDataSource()
getDataObjectDataSource
in interface DataObjectEngineConfigurationApi
public void setDataObjectDataSource(DataObjectDataSource dataObjectDataSource)
public Map<String,DataObjectDataSource> getDataObjectDataSources()
public void registerDataObjectDataSource(DataObjectDataSource dataObjectDataSource)
protected void autoDeployResources(DataObjectEngine dataObjectEngine)
public AutoDeploymentStrategy<DataObjectEngine> getAutoDeploymentStrategy(String mode)
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
.mode
- the mode to get the strategy fornull
public boolean isAutoUpdateDataObjectSchemaDefinitions()
public void setAutoUpdateDataObjectSchemaDefinitions(boolean autoUpdateDataObjectSchemaDefinitions)