我在服务器上托管了一个spring应用程序(Tomcat 8.5)。如果没有人使用它,它就会闲置。我已经知道,如果数据库处于空闲状态8小时(MySQL的默认超时),就会发生超时。正如在Spring Autoreconnect and Connection lost过夜帖子中提到的,我已经尝试了这里提供的解决方案。我尝试过配置应用程序。但这并不能解决问题。
(PS:除了Spring应用程序中的application.properties之外,我不会更改任何内容)。
如果问题没有解决,即使包括属性后,如application.properties,那么问题将被解决时,包括testOnBray, validationQuery在application-context.xml位于src/main/资源
<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${database.driver.classname}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
<property name="initialSize" value="2"/>
<property name="maxActive" value="50"/>
<property name="maxIdle" value="5"/>
<property name="maxWait" value="-1"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="600"/>
<property name="logAbandoned" value="true"/>
<property name="testOnBorrow" value="true" />
<property name="validationQuery" value="SELECT 1" />
</bean>
解决方案是从线程池中借用连接线程时,通过启用testOnBray并提供validationQuery来验证连接线程。
如果这个
spring.datasource.testWhileIdle = true
spring.datasource.timeBetweenEvictionRunsMillis = 60000
spring.datasource.validationQuery = SELECT 1
或者这个
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
没用也许试试这个
Post SpringBoot 1.4的名称已更改
他们为Spring支持的四个连接池定义了新的特定命名空间:tomcat、hikari、dbcp、dbcp2。
spring.datasource.tomcat.testOnBorrow=true
spring.datasource.tomcat.validationQuery=SELECT 1
我想从intelliJ运行我的spring-boot应用程序,而不是使用终端,但它不允许,它只是抛出了一大堆错误,而当我从中的终端运行时,应用程序会按预期启动。 通过intelliJ(右上角的run按钮)运行时: 但当我去跑的时候: 在终端中,我的应用程序启动,我可以开始对服务器进行http调用。
我使用的是SpringBoot2.2。2.发布,version 在 超时失败统计(总计=30,活动=1,空闲=29,等待=163) 有29个空闲连接,仍然发生超时故障。
所以我一直在寻找12个小时,现在这个错误的解决方案,我在尝试安装Laravel框架的PHP。我发现了许多不同的帖子,但似乎没有一个工作。这里的问题,我通过所有的步骤得到Laravel在我的电脑,这是下载和安装作曲家到我的 /usr/local/bin/目录,然后运行这个命令: 我得到这个错误: 我已经删除并重新安装了php,我已经运行了一个脚本,查看是否安装了mcrypt,它是否运行正确,我已经尝
编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答这个问题。 这样的问题。当添加注释@ spring boot application(exclude = { securityautoconfiguration . class })时,生成名称时出现错误,IDE会这样写:在此输入图像描述 会有什么问题呢?
这是我的代码: 我同时从多个线程调用此函数。当我在一次运行中只调用它大约20~30次时,它工作得非常好。但当我在大约2分钟内(对同一个URL)调用它500~600次时,它会抛出 编辑 我尝试只创建一个实例,但它仍然会引发相同的异常
我实现了自定义GatewayFilterFactory来实现自定义安全性。我观察到网关和远程服务器之间的连接突然关闭时出现间歇性问题。 Spring cloud gateway吞咽异常并向客户端抛出500个内部服务器错误。 完全堆栈跟踪- 示例实现- 以下查询的任何建议- 如何确保netty将连接/握手错误转发到客户端,而不是抛出500个内部服务器错误? 如何重新建立关闭的连接?