ERROR org.hibernate.util.JDBCExceptionReporter – 无法创buildPoolableConnectionFactory

我的web应用程序在localhost上运行良好,但在将localhost更改为XX.X.XX.X(即hibernate.properties中的docker的ip)后,出现以下错误

AbandonedObjectPool被使用
(org.apache.commons.dbcp.AbandonedObjectPool@66d1439c)
LogAbandoned:true
RemoveAbandoned:true
RemoveAbandonedTimeout:90

进入XX.X.XX.X:1112 /学生的login页面或主页来,但login后,我得到以下错误在命令提示符(从我从哪里开始tomcat)

57521 [http-apr-8080-exec-11] ERROR org.hibernate.util.JDBCExceptionReporter – 无法创buildPoolableConnectionFactory
57522 [http-apr-8080-exec-11] ERROR org.hibernate.util.JDBCExceptionReporter – 无法创buildPoolableConnectionFactory

用于启动tomcat服务器的命令是docker run -it –rm -p 7008:8080 -v //d/docker_tomcat/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v // d / docker_tomcat / webapps:/ usr / local / tomcat / webapps:rw tomcat:7.0

上面的命令我确信没有问题。

这里是我的hibernate.properties文件: –

hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.username=root hibernate.connection.password=root hibernate.connection.url=jdbc:mysql://<ip of docker>:3306/studentdb?autoreconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false show_sql=false hibernate.jdbc.use_streams_for_binary=false hibernate.dbcp.testOnBorrow=true hibernate.dbcp.validationQuery=SELECT 1 FROM DUAL hibernate.dbcp.testOnReturn=false hibernate.dbcp.maxWait=2000 hibernate.dbcp.testWhileIdle=true hibernate.dbcp.minEvictableIdleTimeMillis=1800000 hibernate.dbcp.timeBetweenEvictionRunsMillis=300000 hibernate.dbcp.numTestsPerEvictionRun=5 hibernate.dbcp.removeAbandoned=true hibernate.dbcp.removeAbandonedTimeout=90 hibernate.dbcp.logAbandoned=true 

我已经改变了hibernate.connection.url属性,而不是使用docker的ip地址,我使用mysql容器的ip地址。
您可以使用以下命令获取mysql容器的ip地址: –

**docker inspect some-mysql**这里some-mysql是容器名称(您可以通过docker ps命令获取容器名称)