前言
给flowable动态设置目标数据源。
一、默认数据源
在创建 SpringProcessEngineConfiguration 的时候,默认引入了spring中的DataSource
(1)创建SpringProcessEngineConfiguration
@Bean
@ConditionalOnMissingBean
public SpringProcessEngineConfiguration springProcessEngineConfiguration(DataSource dataSource, PlatformTransactionManager platformTransactionManager,
@Process ObjectProvider<IdGenerator> processIdGenerator,
ObjectProvider<IdGenerator> globalIdGenerator,
@ProcessAsync ObjectProvider<AsyncExecutor> asyncExecutorProvider,
@ProcessAsyncHistory ObjectProvider<AsyncExecutor> asyncHistoryExecutorProvider,
ObjectProvider<List<AutoDeploymentStrategy<ProcessEngine>>> processEngineAutoDeploymentStrategies) throws IOException {
,,,,,,
configureEngine(conf, dataSource);
......
}
(2) configureEngine(conf, dataSource);
protected void configureEngine(AbstractEngineConfiguration engineConfiguration, DataSource dataSource) {
engineConfiguration.setDataSource(dataSource);
}
@Override
public ProcessEngineConfiguration setDataSource(DataSource dataSource) {
if (dataSource instanceof TransactionAwareDataSourceProxy) {
return super.setDataSource(dataSource);
} else {
// Wrap dat

文章详细介绍了如何在Flowable中设置和修改默认数据源。首先,Flowable在初始化时默认使用Spring的DataSource。然后,通过实现EngineConfigurator接口可以修改默认数据源。最后,数据源的调用涉及到TransactionAwareDataSourceProxy和TransactionAwareInvocationHandler,它们在获取连接时处理事务和目标数据源的切换。
3506

被折叠的 条评论
为什么被折叠?



