BladeX-Biz 无法通过缓存获取业务字典值

Blade 未结 2 1534
日行千里
日行千里 剑圣 2021-04-22 16:56

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

  1. 基于BladeX-Biz开发了业务功能,里面用到了业务字典,项目中引入blade-dict-api.jar,

    1)将Biz项目和BladeX运行在一台服务器上,则Biz项目通过DictBizCache.getValue(“test“,1)可以获取到值,但是如果运行在不同的服务器上,则获取不到值。

    2)将Biz项目和BladeX运行在一台服务器上,先调用DictBizCache.getValue(“test“,1)获取一次值,然后把Biz项目关闭,再另一台服务器启动Biz项目,再次获取相同的值可以得到,如果再新建一个业务字典,获取新建的值获取不到。


2. 

3.


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

期待正常获取值

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

BladeX-Biz 2.7.2      windows

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

无错误信息

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

2条回答
  • 2021-04-22 19:36

    这与字典模块没有关系

    你在不同的服务器部署,那首先得保证服务器之间能相互联通,blade-dict-api是通过feign来调用的,网段不通自然就无法获取数据。

    你说部署在同一个服务器就能调用,那自然是可以直接feign联通的。

    你说不同服务器不能调用,你让两台服务器注册到nacos的ip能互相ping通就行。

    你说先在同一台部署调用,然后关掉在其他服务器就能获取,是因为第一次调用拿到数据的时候存到redis了,后面只要能连到redis的服务自然就能取到值。后面新增的字典因为不在redis,服务也不通,所以无法获取。

    综上所述,不是框架的问题,而是你部署的问题,你解决相互调用的问题就行了。

    0 讨论(0)
  • 2021-04-22 21:10

    网络是通的,我明天再看一下吧

    0 讨论(0)
提交回复