我意识到有几个与此主题相关的帖子,但是按照规定的步骤操作后,我仍然遇到问题。因此,我正在使用Hibernate连接到AWS RDS MySQL实例。我观察到,尽管已将timeout属性设置为较大的值,但连接在打开后仍会关闭几毫秒,因此与数据库的任何交互都会失败并抛出该错误
ERROR: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
,我还使用c3p0作为连接池策略,因为我了解到Hibernate的内部连接池策略不是很可靠。
这些是我在hibernate.cfg.xml
文件中设置的属性。
<property name="c3p0.acquire_increment">1</property>
<property name="c3p0.idle_test_period">100</property>
<property name="c3p0.max_size">100</property>
<property name="c3p0.max_statements">0</property>
<property name="c3p0.min_size">10</property>
<property name="c3p0.timeout">1800</property>
这是日志的摘要,显示连接几乎立即关闭。 (为简洁起见,省略了其他详细信息)
2020-10-14 04:53:39,721 INFO (main): Connection opened
2020-10-14 04:53:39,750 INFO org.hibernate.dialect.Dialect (main): Using dialect: org.hibernate.dialect.MySQLDialect
2020-10-14 04:53:39,767 INFO org.hibernate.cfg.SettingsFactory (main): Database ->
name : MySQL
version : 5.7.26-log
major : 5
minor : 7
2020-10-14 04:53:39,767 INFO org.hibernate.cfg.SettingsFactory (main): Driver ->
name : MySQL Connector Java
version : mysql-connector-java-5.1.39
major : 5
minor : 1
2020-10-14 04:53:39,768 INFO (main): Connection is closed
有人可以提供有关上述情况发生原因的任何指示。预先感谢。