gpt4 book ai didi

java - Java EE 应用程序是否有 "Socket Connection Pool"之类的代码?

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:34 26 4
gpt4 key购买 nike

我正在编写一个 JAX-RS Web 服务。它通过以下方式响应客户端调用:

  1. 从数据库检索一些信息
  2. 调用外部服务器

对于 2),服务器不公开 Web 服务接口(interface)(即没有 WSDL 接口(interface)或 REST API)。相反,它使用基于 TCPIP 的自定义协议(protocol)。我希望从我的 JAX-RS 资源直接向此服务器发出客户端调用,但我不想每次调用 JAX-RS 资源时都必须打开连接、进行身份验证并关闭连接。有没有解决的办法?换句话说,是否有类似“套接字连接池”之类的东西可供 Java EE 应用程序使用?我必须使用 ESB 之类的东西吗?还是有我忽略的替代方案?

最佳答案

执行此操作的“正确”方法是为外部服务器编写JCA 连接器。 JCA 是 Java EE 堆栈的一部分,其确切目的是:提供从应用程序服务器到外部系统的入站和出站连接。它支持池化身份验证、事务等。(顺便说一句,数据库和 JMS 代理是通过 JCA 连接器访问的)。

然而,编写这样的适配器可能相当困难。也许研究一种轻量级方法,其中通用池库(也许您在 commons-pool 或 c3p0 中发现一些有趣的东西)可能会更容易。

另请参阅 this answer关于TCP连接池。

关于java - Java EE 应用程序是否有 "Socket Connection Pool"之类的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2368569/

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