java - 如何在 Java 应用程序服务器中创建自定义对象池

标签 java jakarta-ee glassfish jms object-pooling

假设我在 Java 应用程序服务器中有一个消息驱动的 bean (MDB)。 MDB 从 JMS 队列接收消息并将其传递给消息处理器。在我的例子中,消息处理器是一个非常重量级的对象,需要大量的初始化,所以我不想创建一个新的对象来处理每条消息。相反,我想提前创建一个消息处理器池并使用它们来处理消息。

因此,我的问题是:在 J2EE 应用程序服务器中构建此池的“正确”方法是什么?是否有任何服务器内置支持定义自定义(非连接)对象池?在将池塞入单例并希望获得最佳结果之前,我想利用对这种模式的任何内置支持。特别是:

  • 如何定义/实例化池?
  • 我如何进入游泳池? JNDI?
  • 应用服务器提供哪些管理功能?

我知道一般如何实现对象池。我的问题主要是关于在 J2EE 应用程序服务器中创建池。

我打算使用 Glassfish,但如果 JBoss 或其他东西可以使这更容易,我会很灵活。

谢谢!

最佳答案

大多数应用程序服务器通常将 EJB 本身作为池对象进行管理。

实现您的应用程序最明显的方法是使用 MDB 本身作为消息处理器,然后使用应用程序服务器部署配置配置池,这当然特定于您实际使用的服务器。

关于java - 如何在 Java 应用程序服务器中创建自定义对象池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288615/

相关文章:

java - Gradle 构建错误(Android Studio 2.2.2)

java - 如何使用 System.out.print() 在 "Console"上打印该行

java - 如何从我的 war 中访问文本文件

java - GWT 应用程序 - 在 Tomcat 或任何其他 servlet 容器上部署

Java EE、通信 Web 应用程序和桌面应用程序

java - 基于 REST 的简单程序中的 HTTP 500 内部服务器错误。从服务器接收/发送响应时混淆 GET 和 POST

java - 从数据库 (SQL) 中检索图像 (Long Blob) 并将其显示到 JLabel

java - 向上转型时,Java 如何处理字段?

java - Glassfish 服务器不适用于 JDK 8

java - 尝试定义模块时,Maven 无法将 EJB 识别为项目的依赖项