我的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
答案 0 :(得分:0)
我更改了hibernate.connection.url属性而不是docker的ip地址我使用了mysql容器的ip地址。
你可以使用以下命令获取mysql容器的ip地址: -
**docker inspect some-mysql**
这里有些mysql是容器名称(你可以 通过docker ps
命令获取容器名称)