微调,xa数据库配置抽离
This commit is contained in:
parent
7494c5f462
commit
d5a9dec0a1
@ -5,6 +5,7 @@ spring:
|
|||||||
driverClassName: com.mysql.cj.jdbc.Driver
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
dynamic:
|
dynamic:
|
||||||
primary: MASTER
|
primary: MASTER
|
||||||
|
xa: true
|
||||||
datasource:
|
datasource:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
MASTER:
|
MASTER:
|
||||||
|
@ -5,15 +5,17 @@ import java.util.Properties;
|
|||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
|
import com.alibaba.druid.pool.xa.DruidXADataSource;
|
||||||
// import com.alibaba.druid.pool.xa.DruidXADataSource;
|
// import com.alibaba.druid.pool.xa.DruidXADataSource;
|
||||||
import com.ruoyi.common.service.datasource.CreateDataSource;
|
import com.ruoyi.common.service.datasource.CreateDataSource;
|
||||||
import com.ruoyi.framework.config.DruidConfig;
|
import com.ruoyi.framework.config.DruidConfig;
|
||||||
import com.ruoyi.framework.config.DynamicDataSourceProperties;
|
import com.ruoyi.framework.config.DynamicDataSourceProperties;
|
||||||
|
|
||||||
@Component
|
@Configuration
|
||||||
public class DataSourceCreate implements CreateDataSource {
|
public class DataSourceCreate implements CreateDataSource {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -22,12 +24,20 @@ public class DataSourceCreate implements CreateDataSource {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private DruidConfig druidConfig;
|
private DruidConfig druidConfig;
|
||||||
|
|
||||||
|
@Value("${spring.datasource.dynamic.xa}")
|
||||||
|
private boolean xa;
|
||||||
|
|
||||||
public DataSource createDataSource(String name, Properties prop) {
|
public DataSource createDataSource(String name, Properties prop) {
|
||||||
// DruidXADataSource dataSource = new DruidXADataSource();
|
DruidDataSource dataSource = null;
|
||||||
DruidDataSource dataSource = new DruidDataSource();
|
if (xa) {
|
||||||
|
dataSource = new DruidXADataSource();
|
||||||
|
} else {
|
||||||
|
dataSource = new DruidDataSource();
|
||||||
|
}
|
||||||
druidConfig.getDruidDataSources().add(dataSource);
|
druidConfig.getDruidDataSources().add(dataSource);
|
||||||
dataSource.setConnectProperties(prop);
|
dataSource.setConnectProperties(prop);
|
||||||
properties.setProperties(dataSource, prop);
|
properties.setProperties(dataSource, prop);
|
||||||
return dataSource;
|
return dataSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,10 @@ import javax.sql.DataSource;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.jdbc.support.JdbcTransactionManager;
|
import org.springframework.jdbc.support.JdbcTransactionManager;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@EnableTransactionManagement(proxyTargetClass = true)
|
||||||
public class DynamicTransactionManager extends JdbcTransactionManager {
|
public class DynamicTransactionManager extends JdbcTransactionManager {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -24,7 +24,7 @@ public class Ehcache3Config {
|
|||||||
public JCacheCacheManager ehcacheManager() {
|
public JCacheCacheManager ehcacheManager() {
|
||||||
EhcacheCachingProvider cachingProvider = (EhcacheCachingProvider) Caching.getCachingProvider();
|
EhcacheCachingProvider cachingProvider = (EhcacheCachingProvider) Caching.getCachingProvider();
|
||||||
|
|
||||||
CacheManager cacheManager = (CacheManager) cachingProvider.getCacheManager();
|
CacheManager cacheManager = cachingProvider.getCacheManager();
|
||||||
MutableConfiguration<String, Object> mutableConfiguration = new MutableConfiguration<>();
|
MutableConfiguration<String, Object> mutableConfiguration = new MutableConfiguration<>();
|
||||||
mutableConfiguration.setTypes(String.class, Object.class);
|
mutableConfiguration.setTypes(String.class, Object.class);
|
||||||
mutableConfiguration.setStoreByValue(false); // 默认值为 true,可根据需求调整
|
mutableConfiguration.setStoreByValue(false); // 默认值为 true,可根据需求调整
|
||||||
|
@ -10,7 +10,6 @@ import org.springframework.context.annotation.Bean;
|
|||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.core.io.DefaultResourceLoader;
|
import org.springframework.core.io.DefaultResourceLoader;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.DbType;
|
import com.baomidou.mybatisplus.annotation.DbType;
|
||||||
import com.baomidou.mybatisplus.autoconfigure.SpringBootVFS;
|
import com.baomidou.mybatisplus.autoconfigure.SpringBootVFS;
|
||||||
@ -30,7 +29,6 @@ import com.ruoyi.common.utils.StringUtils;
|
|||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
@EnableTransactionManagement(proxyTargetClass = true)
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public class MybatisPlusConfig {
|
public class MybatisPlusConfig {
|
||||||
@Bean
|
@Bean
|
||||||
|
Loading…
Reference in New Issue
Block a user