主题:springboot集成beetl自定义Interceptor无法使用问题

zsupermlan 2020年05月14日 35

小白咨询下,大佬.按照文档实现Interceptor接口,在获取sqlManager时使用了setInterceptors()方法,但是依然无法使用自定义的过滤器,如果删除此方法,默认会走DebugInterceptor,请问如何修改?

sqlManagerFactoryBean.setInterceptors(new Interceptor[]{new DebugInterceptor(), new MySqlInterceptor()});

闲大赋 2020年05月14日


你debug过,确认setInterceptors方法被调用了吗?,或者你在后续sql操作里,sqlManager是否包含了DebugInterceptor?

zsupermlan 2020年05月14日

是的,应用启动时获取sqlManager时此处加断点setInterceptors是被调用过的.后续做数据库操作时断点只走DebugInterceptor,自定义的Interceptors是没有走的

zsupermlan 2020年05月14日

TIM截图20200514140900.png

闲大赋 2020年05月14日

不清楚你这个为何不行,不过你可以按照官网文档来


http://ibeetl.com/guide/#/beetlsql/integrated?id=springboot%e9%9b%86%e6%88%90%e5%a4%9a%e6%95%b0%e6%8d%ae%e6%ba%90

@Bean
    public BeetlSqlMutipleSourceCustomize beetlSqlCustomize() {
        return new BeetlSqlMutipleSourceCustomize() {
            @Override
            public void customize(String dataSource,SQLManager sqlManager) {
                //可以在这里添加各种扩展,指定主从等
            }

        };
    }