我有一个java应用程序,点击按钮生成一个很重的报告(大约30 MB excel报告)。
在点击“生成”按钮之前,有两个文本字段可确定您想要的数据量(项目ID来自:和项目ID为:)。
现在的问题是,当两个同时发出的请求需要所有数据时,然后谁先按下按钮,报告只为他生成,另一个用户得到空报告。但是如果一个用户需要完整报告而其他用户想要一些它的信息说1000行,然后两个用户都可以获得充满信息的报告。
请告诉我一些有关如何查看以及如何解决此问题的见解。提前谢谢。
答案 0 :(得分:0)
有一个 Singleton /应用程序范围/ Servlet Context wide 存储的有关报告的信息。它可以位于Web层,报表调用层或报表生成层中。实际上两个请求都设置了这些数据,并且两个报告代都读取了这些数据,这就是为什么它会引起混淆。
查看应用程序的结构,尝试弄清楚它的位置。如果你从一开始就经历过,那么你可以描述报告生成的整个过程是有用的,也许你可以自己实现它。