是否可以定义整个spring项目的范围,如session、request等?
我有一个spring项目,它只用作web服务,为其他项目提供服务,这些项目共同构成了应用程序。在web服务项目中,有许多端点,在必要时都可以通过soapMessages从其他项目访问这些端点。
我想要实现的是,每当这个web服务项目响应它的客户端时,它应该立即关闭连接。我找到了以下解决方案,但它们并不是这个问题的真正解决方案:
在我添加的web.xml文件中
<session-config>
<session-timeout>10</session-timeout>
</session-config>但这并不是我想要做的事情,因为它每10分钟关闭一次所有会话。
我创建了.htaccess文件并添加了
<IfModule mod_headers.c>
Header set Connection close
</IfModule>显然,Tomcat甚至没有对此进行评估,您只能在服务器的全局范围内设置这些属性,这些属性不会特定于项目,并应用于该服务器中的所有应用程序。
顺便说一句,我知道在每次请求时关闭连接并重新打开它会降低性能。
发布于 2018-09-05 20:54:33
每次在上收到请求时,都可以对资源使用API try。您可以使用try-with-resource打开会话,并在整个流程中使用该会话,然后在响应之后,该会话将随作用域自动关闭。例如:
try (Session session = sessionFactory.openSession()) {
Response resp = service.doSomething(session);
return resp;
}https://stackoverflow.com/questions/52185432
复制相似问题