gpt4 book ai didi

java - 如何定义整个spring项目的连接范围——web服务连接范围

转载 作者:行者123 更新时间:2023-11-28 23:14:29 24 4
gpt4 key购买 nike

session,request等是否可以定义整个spring项目的范围?

我有一个 spring 项目,它只用作 web 服务,为其他项目提供服务,这些项目一起形成应用程序。在 Web 服务项目中有许多端点,必要时都可以通过其他项目的 soapMessages 访问这些端点。

我想要实现的是,每次此 Web 服务项目响应其客户端时,它都应立即关闭连接。我找到了以下解决方案,但它们并不是真正解决此问题的方法:

在我添加的web.xml文件中

<session-config>
<session-timeout>10</session-timeout>
</session-config>

但这不是我想做的,因为它每 10 分钟关闭一次所有 session 。

我创建了 .htaccess 文件并添加了

<IfModule mod_headers.c>
Header set Connection close
</IfModule>

显然这甚至没有被 Tomcat 评估,您只能在服务器的全局范围内设置这些属性,这不会是项目特定的并应用于该服务器中的所有应用程序。

顺便说一句,我知道关闭连接并在每次请求时重新打开它会降低性能。

最佳答案

每次收到 API 请求时,您都可以使用try with resource。您可以使用 try-with-resource 打开 session 并将该 session 用于整个流程,而不是在响应之后, session 将自动关闭范围。例如:

try (Session session = sessionFactory.openSession()) {

Response resp = service.doSomething(session);
return resp;
}

关于java - 如何定义整个spring项目的连接范围——web服务连接范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185432/

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