我们使用camunda和RDS/MySql作为DB。它工作得很好,但有时它会说DB关闭了,因此抛出了ProcessEngine异常。下面是我从配置和日志中了解到的内容:
请求接收上下文路径: /engine-rest请求接收路径 信息: /user PathInfo: /user ExceptionHandler: org.camunda.bpm.engine.ProcessEngineException:过程引擎 持久化异常 org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.rethrow(CommandInvocationContext.java:148) 在org.camunda.bpm.engine.impl.interceptor.CommandContext.close(CommandContext.java:173) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:113) at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) .由: org.apache.ibatis.exceptions.PersistenceException:引起 数据库查询错误。原因: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 连接关闭后不允许操作。错误可能存在于 org/camunda/bpm/engine/impl/mapping/entity/User.xml错误可能涉及 org.camunda.bpm.engine.impl.persistence.entity.UserEntity.selectUserByQueryCriteria 执行查询SQL: select RES.*时发生错误。 从ACT_ID_USER RES定单到RES.ID_ asc限制?抵消?原因: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 连接关闭后不允许操作。
我们的猫道具指定:minIdle = 5;
我的最佳猜测是:服务器关闭,但由于上述属性,我们在本地进行维护。
每只猫医生(https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html):
testOnBorrow = true;validationQuery = "select 1";
这两个道具应该在验证连接时修复它。
问题我想弄清楚:
发布于 2018-04-10 06:13:02
正如@Zelldon所提到的,连接超时可以减少,然后我们可以尝试它。它如预期的那样工作。
可以肯定的是,我运行了两个camunda实例,一个使用这个修复程序,另一个没有。可以看出修复是有效的。
关于RDS,它确实关闭了连接,但是我找不到关于它的任何文档。
https://stackoverflow.com/questions/49716621
复制相似问题