gpt4 book ai didi

java - 将 Java/JSP 应用程序限制为一定数量的 hibernate 查询

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:39 24 4
gpt4 key购买 nike

我需要一些帮助,以提出一种有效的解决方案,以限制在 tomcat 服务器上运行的 Java/JSP 应用程序的并发 hibernate Oracle SQL 查询的最大数量。

示例:如果查询限制为 3,则只有 3 个应用程序用户可以同时触发并运行特定查询。如果有第四个用户出现(并且没有其他用户完成其查询),那么该用户将收到一条警告,提示他们必须先等待。一旦有可用位置,用户就会收到警报。

每次用户触发查询时,我都希望将排序指示符存储到文件/数据库中,该指示符要么代表所有用户,要么仅代表当前正在处理的查询总数。现在,我知道这可能不是很有效,所以我正在寻求帮助。

谢谢。

最佳答案

存储在 file/db 中效率不是很高,它可能会增加响应的轻微开销。您应该将该值存储在内存中。您可以在用户的​​ session 范围中仅存储一个变量(如果您想限制在应用程序级别,则可以存储在应用程序范围中)。这样,您就不需要管理像 map 这样的公共(public)存储,您必须使用用户 ID 进行引用(每个用户限制的情况)。

您访问这些范围的方式将根据您使用的 Web 框架而有所不同。另外,(假设每个用户的限制)您可以在即将执行 hibernate 查询时增加变量(例如currentQueryCount),并在查询完成时减少相​​同的变量。对于每个请求,您可以首先检查此变量是否超出限制,如果超出,您可以发送错误响应。

关于java - 将 Java/JSP 应用程序限制为一定数量的 hibernate 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32700461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com