blade-boot版本 在开启了租户的表中,如何显式的插入tenant_id?

Blade 未结 1 1581
569222490
569222490 剑童 2020-01-11 11:22

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

1. blade-boot集成了dubbo

2. dubbo没有状态,消费者调用生产者接口,生产者service写入的表是带租户的 

3. 消费者调用,传入tenant_id,却无法将tenant_id写入到生产者的表中


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

希望我显式的传入tenant_id的时候,用我传入的tenant_id,而不在使用token关联的tenant_id。因为dubbo无状态,我不需要token也希望可以写入tenant_id


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

baldex-boot版本 2.2.1


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


     无堆栈信息 

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

    无详细信息


1条回答
  • 2020-01-11 19:35

    给一个 大概的思路,但是没有实践过,需要你们尝试一下


     1. 参考BladeX-Tool的BladeTenantSqlParser,复写父类TenantSqlParser的processInsert方法

    image.png

    image.png

     2.在此方法内想办法获取到传入的bean的值,如果有tenantId字段并且有默认值,则不进行插件的自动赋值

    image.png

     3. 如果这种思路可以实现,那么就比较好用了。没有值的时候,插件自动获取,有值的时候,就用默认设定的值

    回答: 2020-01-13 15:45

    已经增强这个功能,新增的时候设置tenantId,会覆盖默认的配置,详见:https://center.bladex.cn/blade/BladeX-Tool/commit/4518c98055b67bc087524788ae11256bd81c226d

    1 讨论(0)
提交回复