工作流监听切换多数据源

Blade 未结 1 269
1018969681
1018969681 2023-06-03 19:11

一、该问题的重现步骤是什么?

1. org.springblade.plugin.workflow.core.listener.WfGlobalListener#processCompleted方法,试了很多种方法,无法切换数据源,使用的DynamicDataSourceContextHolder.push方式切换,已经开启了多数据源配置,并且通知公告等模块已经试过切换没问题

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


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


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2023-06-05 22:10

    监听类属于异步的范畴,不是通过请求发起,所以无法获取request,也就无法获取租户信息进行切换了。

    解决办法就是切换的逻辑写到一个外部接口,监听类执行外部接口进行业务操作,调用参数传入需要切换的数据源信息,这样接口获取到传参后就可以构建request的头部信息,来执行多数据源切换。

    0 讨论(0)
提交回复