一、该问题的重现步骤是什么?
自定义serviceException异常后,无法抛出自定义异常,好像被切换数据源异常拦截
二、你期待的结果是什么?实际看到的又是什么?
可以抛出自定义serviceException
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX,Linux系统

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。
如果在切换数据源的过程中自己抛异常,确实是会被拦截,再往上层把你自定义的异常信息通过 TenatDataSourceException 二次抛出。
如果切换数据源的时候不错处理,那么里面的各种异常都会导致线程错乱,所以切换的逻辑代码里是需要主动catch才行。当然如果你一定要修改逻辑,那么改这个切换的拦截器类的逻辑就可以了。
麻烦问一下,怎么改切换的拦截器类的逻辑,我在bldex-tool中改了拦截器所在的jar包
这样修改的:
但是启动就报错了:
Caused by: java.lang.ClassNotFoundException: org.springblade.core.db.dynamic.processor.DynamicDataSourceProcessor
删掉这个jar,重新下载官方原版jar。你到你自己对应的工程里创建同目录的package包然后把这个拦截器的文件源码复制到对应package目录,再修改逻辑就行了,启动会直接覆盖掉jar包内的逻辑。
扫一扫访问 Blade技术社区 移动端