获取异常rollback()期间通信链接失败,我们将quartz 2.2.1与org.springframework.scheduling一起使用。quartz.SchedulerFactoryBean
请查找例外org.springframework.scheduling.quartz.LocalDataSourceJobStore无法回滚jdbc连接。 rollback()期间通信链接失败。交易解决方案未知。com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:在rollback()期间通信链接失败。交易解决方案未知。
[wait_timeout 600秒时,在30分钟到1小时后得到这些异常。当我使用默认的wait_timeout 28800秒时,因此在8到10小时后得到此异常。
尝试autoReconnect = true,问题仍然存在。
就我而言,当尝试从同一主机连接到在Ubuntu主机VM上的容器内运行的mysql-server时,遇到了此错误。
示例:如果我的虚拟机名称为abc.company.com
,则以下jdbc URL 无法使用:
jdbc:mysql://abc.company.com:3306/dbname
上面的jdbc url在xyz.company.com
之类的其他计算机上也可以正常工作,但在abc.company.com
上则不能。
在下面的jdbc URL上,将在abc.company.com
计算机上正常工作]:
jdbc:mysql://localhost:3306/geowarehouse
这导致我检查了/etc/hosts
文件。
在/etc/hosts
中添加以下行解决了此问题:
127.0.1.1 abc.company.com abc
这似乎是一个操作系统错误,需要我们在某些Ubuntu版本中添加它们。参考:https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_resolution
[在尝试此操作之前,我尝试了所有其他解决方案,例如GRANT ALL..
,更改了mysql.cnf中的bind-address
行。在这种情况下,它们都没有帮助我。