gpt4 book ai didi

grails - application.yml 中的 server.session.timeout 在作为 war 部署到 tomcat 时不使用

转载 作者:行者123 更新时间:2023-12-02 01:13:40 28 4
gpt4 key购买 nike

我的 application.yml 中有这个配置

server:
contextPath: /appname
session:
timeout: 7200 # 2 hours in seconds

当我在 Intellij IDEA 中运行时,这工作正常,但是当我将构建 .war 文件部署到 tomcat 实例时,这将被忽略。这是一个错误还是它不会像这样工作?

此外,我似乎无法找到可以在 application.yml 中编写的内容的规范。任何人都知道在哪里可以找到这个?

application.groovy 配置文件怎么样?似乎找不到这方面的规范?

我的环境:

  • Grails 版本:3.2.8
  • Gradle 版本:3.4.1
  • Intellij IDEA 版本:2017.1.2
  • Tomcat 版本:8.0.26 JDK版本:1.8.0_45

最佳答案

当您将 Grails 3 应用程序部署到独立的 tomcat 应用程序时,您不应使用 springboot server.session.timeout 配置属性。它仅适用于嵌入式服务器。

Spring boots - sever.session.timeout - Embedded Server configuration

要在部署到独立 tomcat 中的 SpringBoot 应用程序(Grails 3 应用程序构建在 SpringBoot 应用程序之上)中配置 session 超时,您有两种选择:

A) 该 tomcat 实例中部署的每个应用的超时。

您可以直接在 tomcat 配置文件中编辑 session 超时:

$TOMCAT_HOME/conf/web.xml

注意方 block :

<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. -->

<session-config>
<session-timeout>30</session-timeout>
</session-config>

B)您可以在您的 Grails 3 应用中添加一个 web.xml 文件,每个应用都有您需要的超时。

在路径“src/main/webapp/WEB-INF/web.xml”中创建一个文件,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>

关于grails - application.yml 中的 server.session.timeout 在作为 war 部署到 tomcat 时不使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43657626/

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