feat: support druid wall dbType
This commit is contained in:
parent
76590204bd
commit
fcf5bdbd3d
@ -139,30 +139,38 @@ public class DruidDataSourceCreator implements DataSourceCreator {
|
|||||||
|
|
||||||
private List<Filter> initFilters(DataSourceProperty dataSourceProperty, String filters) {
|
private List<Filter> initFilters(DataSourceProperty dataSourceProperty, String filters) {
|
||||||
List<Filter> proxyFilters = new ArrayList<>(2);
|
List<Filter> proxyFilters = new ArrayList<>(2);
|
||||||
|
DruidConfig druid = dataSourceProperty.getDruid();
|
||||||
if (DsStrUtils.hasText(filters)) {
|
if (DsStrUtils.hasText(filters)) {
|
||||||
String[] filterItems = filters.split(",");
|
String[] filterItems = filters.split(",");
|
||||||
for (String filter : filterItems) {
|
for (String filter : filterItems) {
|
||||||
switch (filter) {
|
switch (filter) {
|
||||||
case "stat":
|
case "stat":
|
||||||
proxyFilters.add(DruidStatConfigUtil.toStatFilter(dataSourceProperty.getDruid().getStat(), gConfig.getStat()));
|
proxyFilters.add(DruidStatConfigUtil.toStatFilter(druid.getStat(), gConfig.getStat()));
|
||||||
break;
|
break;
|
||||||
case "wall":
|
case "wall":
|
||||||
WallConfig wallConfig = DruidWallConfigUtil.toWallConfig(dataSourceProperty.getDruid().getWall(), gConfig.getWall());
|
Map<String, Object> configWall = gConfig.getWall();
|
||||||
|
Map<String, Object> globalWall = druid.getWall();
|
||||||
|
WallConfig wallConfig = DruidWallConfigUtil.toWallConfig(globalWall, configWall);
|
||||||
WallFilter wallFilter = new WallFilter();
|
WallFilter wallFilter = new WallFilter();
|
||||||
wallFilter.setConfig(wallConfig);
|
wallFilter.setConfig(wallConfig);
|
||||||
|
String dbType = (String) configWall.get("db-type");
|
||||||
|
if (!DsStrUtils.hasText(dbType)) {
|
||||||
|
dbType = (String) globalWall.get("db-type");
|
||||||
|
}
|
||||||
|
wallFilter.setDbType(dbType);
|
||||||
proxyFilters.add(wallFilter);
|
proxyFilters.add(wallFilter);
|
||||||
break;
|
break;
|
||||||
case "slf4j":
|
case "slf4j":
|
||||||
proxyFilters.add(DruidLogConfigUtil.initFilter(Slf4jLogFilter.class, dataSourceProperty.getDruid().getSlf4j(), gConfig.getSlf4j()));
|
proxyFilters.add(DruidLogConfigUtil.initFilter(Slf4jLogFilter.class, druid.getSlf4j(), gConfig.getSlf4j()));
|
||||||
break;
|
break;
|
||||||
case "commons-log":
|
case "commons-log":
|
||||||
proxyFilters.add(DruidLogConfigUtil.initFilter(CommonsLogFilter.class, dataSourceProperty.getDruid().getCommonsLog(), gConfig.getCommonsLog()));
|
proxyFilters.add(DruidLogConfigUtil.initFilter(CommonsLogFilter.class, druid.getCommonsLog(), gConfig.getCommonsLog()));
|
||||||
break;
|
break;
|
||||||
case "log4j":
|
case "log4j":
|
||||||
proxyFilters.add(DruidLogConfigUtil.initFilter(Log4jFilter.class, dataSourceProperty.getDruid().getLog4j(), gConfig.getLog4j()));
|
proxyFilters.add(DruidLogConfigUtil.initFilter(Log4jFilter.class, druid.getLog4j(), gConfig.getLog4j()));
|
||||||
break;
|
break;
|
||||||
case "log4j2":
|
case "log4j2":
|
||||||
proxyFilters.add(DruidLogConfigUtil.initFilter(Log4j2Filter.class, dataSourceProperty.getDruid().getLog4j2(), gConfig.getLog4j2()));
|
proxyFilters.add(DruidLogConfigUtil.initFilter(Log4j2Filter.class, druid.getLog4j2(), gConfig.getLog4j2()));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
log.warn("dynamic-datasource current not support [{}]", filter);
|
log.warn("dynamic-datasource current not support [{}]", filter);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user