错误org.hibernate.util.JDBCExceptionReporter - 无法创建PoolableConnectionFactory

时间:2017-09-07 08:56:50

标签: mysql hibernate docker

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

使用了AbandonedObjectPool (org.apache.commons.dbcp.AbandonedObjectPool@66d1439c)
LogAbandoned:真实的 RemoveAbandoned:true
RemoveAbandonedTimeout:90

输入XX.X.XX.X:1112 / student之后登录页面或主页出现但登录后我在命令提示符中出现以下错误(从我开始tomcat的地方)

57521 [http-apr-8080-exec-11]错误org.hibernate.util.JDBCExceptionReporter - 无法创建PoolableConnectionFactory
57522 [http-apr-8080-exec-11]错误org.hibernate.util.JDBCExceptionReporter - 无法创建PoolableConnectionFactory

用于启动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

1 个答案:

答案 0 :(得分:0)

我更改了hibernate.connection.url属性而不是docker的ip地址我使用了mysql容器的ip地址。
你可以使用以下命令获取mysql容器的ip地址: -

  

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