gpt4 book ai didi

java - 限制 Java EE 应用程序中的并发资源使用

转载 作者:行者123 更新时间:2023-11-30 09:23:24 25 4
gpt4 key购买 nike

有一个 Java EE 应用程序,我们有一批作业要处理。处理涉及调用具有限制的外部服务,以便我们只能同时发送 N 个请求。这个瓶颈必须在我们的应用程序逻辑中实现,我想知道我们如何才能以最好的方式实现这一点。幸运的是集群不是必需的,所以我们可以将问题限制在单个服务器实例上。

  • 我的第一个想法是使用由ThreadPool 具有 N 个工作线程,因此 ThreadPool 对象将充当调节器。当然这不是 EE 解决方案。

  • 我的第二个想法是以某种方式配置这样一个 ThreadPool容器并使用它,但我没有发现任何类似的功能到目前为止。

  • 第三个想法是在@Singleton 中使用Semaphore(N) 对象EJB。

  • 第四个想法是以某种方式创建一个有限的无状态池 session bean 并将有限资源访问放在其中。作为bean 数量由容器管理,资源使用将也受到限制

(澄清一下:通用解决方案是最好的,但众所周知,我们在 Glassfish 3.1.1 上运行,可能稍后在 JBoss 6.x 上运行)

您能否为这个问题建议我一个好的架构和/或评论我的想法以帮助我做出决定?

最佳答案

你为什么不使用 Works?看看here有关如何在 JBoss 和 Weblogic 中使用 Works 的概述。我不知道 Glasshfish,我现在将研究留给你 ;)
简而言之,Works 是符合 EE 的线程。

关于java - 限制 Java EE 应用程序中的并发资源使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16061460/

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