diff --git a/src/main/java/io/jboot/db/datasource/DataSourceConfig.java b/src/main/java/io/jboot/db/datasource/DataSourceConfig.java index b371d6399848185cb20001169e5d8458dac57d2b..bdec1c99162ca8ab1930f24a6c59f30cd1d9d5dd 100644 --- a/src/main/java/io/jboot/db/datasource/DataSourceConfig.java +++ b/src/main/java/io/jboot/db/datasource/DataSourceConfig.java @@ -62,6 +62,9 @@ public class DataSourceConfig { private String table; //此数据源包含哪些表,这个配置会覆盖@Table注解的配置 private String exTable; //该数据源排除哪些表,这个配置会修改掉@Table上的配置 + //druid 过虑器 + private String filters = "stat,wall"; + /** * 是否需要添加到映射 * 在一个表有多个数据源的情况下,应该只需要添加一个映射就可以了, @@ -295,4 +298,12 @@ public class DataSourceConfig { public void setExTable(String exTable) { this.exTable = exTable; } + + public String getFilters() { + return filters; + } + + public void setFilters(String filters) { + this.filters = filters; + } } diff --git a/src/main/java/io/jboot/db/datasource/DruidDataSourceFactory.java b/src/main/java/io/jboot/db/datasource/DruidDataSourceFactory.java index 6b56e8f047c2bfca9ca0593a21ab717b2bb8000f..7459e92cbeba3421de030cd0642730903b773305 100644 --- a/src/main/java/io/jboot/db/datasource/DruidDataSourceFactory.java +++ b/src/main/java/io/jboot/db/datasource/DruidDataSourceFactory.java @@ -19,6 +19,7 @@ import com.alibaba.druid.pool.DruidDataSource; import com.google.common.collect.Sets; import javax.sql.DataSource; +import java.sql.SQLException; /** * @author Michael Yang 杨福海 (fuhai999@gmail.com) @@ -40,6 +41,13 @@ public class DruidDataSourceFactory implements DataSourceFactory { druidDataSource.setConnectionInitSqls(Sets.newHashSet(dataSourceConfig.getConnectionInitSql())); } + if(dataSourceConfig.getFilters()!=null){ + try { + druidDataSource.setFilters("stat,wall"); + } catch (SQLException e) { + } + } + return druidDataSource; } } diff --git a/src/main/java/io/jboot/web/JbootWebConfig.java b/src/main/java/io/jboot/web/JbootWebConfig.java index db0d76469fc756f9ea3509336c74c8543a2ad6a0..56ec153299820671011b78de7f6a315504b4d946 100644 --- a/src/main/java/io/jboot/web/JbootWebConfig.java +++ b/src/main/java/io/jboot/web/JbootWebConfig.java @@ -38,7 +38,6 @@ public class JbootWebConfig { public static final String DEFAULT_COOKIE_ENCRYPT_KEY = "JBOOT_DEFAULT_ENCRYPT_KEY"; private String cookieEncryptKey = DEFAULT_COOKIE_ENCRYPT_KEY; - public boolean isActionCacheEnable() { return actionCacheEnable; } diff --git a/src/main/java/io/jboot/web/handler/JbootHandler.java b/src/main/java/io/jboot/web/handler/JbootHandler.java index 408cd4ed5e036b7ae6263fead4cad3447fd8a0dc..6e6045c0326ebba2555ac8b19a39b95da9afe79f 100644 --- a/src/main/java/io/jboot/web/handler/JbootHandler.java +++ b/src/main/java/io/jboot/web/handler/JbootHandler.java @@ -17,9 +17,11 @@ package io.jboot.web.handler; import com.jfinal.handler.Handler; import com.netflix.hystrix.strategy.concurrency.HystrixRequestContext; +import io.jboot.Jboot; import io.jboot.JbootConstants; import io.jboot.exception.JbootExceptionHolder; import io.jboot.web.JbootRequestContext; +import io.jboot.web.JbootWebConfig; import io.jboot.web.session.JbootServletRequestWrapper; import io.jboot.web.websocket.JbootWebsocketManager; @@ -29,6 +31,8 @@ import javax.servlet.http.HttpServletResponse; public class JbootHandler extends Handler { + private static JbootWebConfig webConfig = Jboot.config(JbootWebConfig.class); + @Override public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) { @@ -69,6 +73,7 @@ public class JbootHandler extends Handler { } + private void doHandle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) { request.setAttribute(JbootConstants.ATTR_REQUEST, request); request.setAttribute(JbootConstants.ATTR_CONTEXT_PATH, request.getContextPath());