Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

springboot集成1.4.2及之后版本(1.6.0+),字典参数URL被多次调用,影响效率 #2049

Closed
Wwwwwys opened this issue Sep 30, 2023 · 7 comments

Comments

@Wwwwwys
Copy link

Wwwwwys commented Sep 30, 2023

版本号:

1.6.3

问题描述:

springboot项目集成jimureport,在调试中发现对于第三方的字典请求会访问多次,造成相应过慢
实测1.4.2对于同样的报表,每个参数都是访问一次 不会出现重复多次调用的情况
1.5.0+ 及1.6.0+ 一直有这个问题,有个issues说解决了 实测没有

SQL报表与API报表在预览show时重复调用,查询按钮点击后仍再次查询字典,麻烦问下这个是特意这样设计?

错误日志&截图:

Snipaste_2023-09-30_16-42-10
Snipaste_2023-09-30_16-44-11

开启jimureport的debug日志,在接口中输出一句日志
能够明显看到输出多次====调用

2023-09-30 16:44:55.070 DEBUG 17972 --- [io-8031-exec-16] o.j.m.j.c.f.i.JimuReportTokenInterceptor : JimuReportInterceptor check requestPath = /jmreport/checkParam/867956756897468416
2023-09-30 16:44:55.070 DEBUG 17972 --- [io-8031-exec-16] o.j.m.j.c.f.i.JimuReportTokenInterceptor : customPrePath: null
2023-09-30 16:44:55.134 DEBUG 17972 --- [io-8031-exec-24] o.j.m.j.c.f.i.JimuReportTokenInterceptor : JimuReportInterceptor check requestPath = /jmreport/show
2023-09-30 16:44:55.134 DEBUG 17972 --- [io-8031-exec-24] o.j.m.j.c.f.i.JimuReportTokenInterceptor : customPrePath: null
2023-09-30 16:44:55.140 DEBUG 17972 --- [io-8031-exec-24] o.jeecg.modules.jmreport.desreport.a.a : --------进入show方法-----------, id = 867956756897468416
2023-09-30 16:44:55.140 DEBUG 17972 --- [io-8031-exec-24] o.j.m.jmreport.desreport.service.a.e : ============EXCEL JSON数据查询==========
2023-09-30 16:44:55.514 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.522 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.530 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.531 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.534 INFO 17972 --- [io-8031-exec-26] c.pacs.report.serv.groovy.getDeviceType : =====调用deviceType
2023-09-30 16:44:55.534 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.534 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.545 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.546 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.553 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.555 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.555 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.562 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.604 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.604 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.611 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.617 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.618 INFO 17972 --- [io-8031-exec-42] c.pacs.report.serv.groovy.getDeviceType : =====调用deviceType
2023-09-30 16:44:55.621 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.624 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.625 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.632 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.632 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.639 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.642 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.646 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.688 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.691 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.694 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.694 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.701 INFO 17972 --- [io-8031-exec-48] c.pacs.report.serv.groovy.getDeviceType : =====调用deviceType
2023-09-30 16:44:55.701 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.708 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.718 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.718 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.722 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.722 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.729 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.729 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.778 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.784 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.785 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.785 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.791 INFO 17972 --- [io-8031-exec-43] c.pacs.report.serv.groovy.getDeviceType : =====调用deviceType
2023-09-30 16:44:55.795 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.795 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.798 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.798 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.805 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.805 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.812 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport
2023-09-30 16:44:55.819 DEBUG 17972 --- [io-8031-exec-24] o.j.modules.jmreport.desreport.util.f : 获取API接口的前缀 #{domainURL} 的值 = http://localhost:8031/pacsReport

重现步骤:

写个简单sql,主要多加几个查询参数字典,访问url接口,使用推荐的系统变量 ,复现可以多写几个controller试下
{{ domainURL }}/dict/getDeviceType?token=#{sysUserCode}
在预览和查询debug中多次被调用

友情提示(为了提高issue处理效率):

  • 积木报表是一款免费报表产品,功能免费源码不开放;
  • 未按格式要求发帖,会被直接删掉;
  • 请针对问题提供报表设计SQL脚本或在官网制作报表示例并提供ID;
  • 针对不好重现的问题,请录制操作视频或详细的重现步骤;
@lvdandan16
Copy link
Collaborator

lvdandan16 commented Oct 9, 2023

收录 sq

@lsqGitHub716
Copy link

已修改

@Wwwwwys
Copy link
Author

Wwwwwys commented Oct 27, 2023

已修改
谢谢,什么时候发新版 我测试下

@Wwwwwys
Copy link
Author

Wwwwwys commented Nov 29, 2023

我用最新版1.6.5 1.6.6 测试,这个问题还是存在,用哪个版本可以呢?

@zhangdaiscott
Copy link
Member

你对接redis了吗,我们新版本加了缓存,接口还是会调用,直接后台不走逻辑

@Wwwwwys
Copy link
Author

Wwwwwys commented Nov 29, 2023

你对接redis了吗,我们新版本加了缓存,接口还是会调用,直接后台不走逻辑

springboot访问接口内部是接入redis的,对数据缓存了,下断点是走进调用查询的,新版本缓存需要加什么配置吗?

@zhangdaiscott
Copy link
Member

默认用的springredis注解,不需要额外配置

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants