无法创建PoolableConnectionFactory
问题是什么? 无法连接数据库?
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ( Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
这是问题的真正原因:
引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
您有数据库通信链接问题。 确保您的应用程序具有对数据库的网络访问权限(并且防火墙不会阻止数据库的端口)。
这是一个网络问题。 检查数据库连接。 您的数据库连接链接,用户名和密码错误或您的数据库服务器已停止。
我在源URL中遇到了与localhost
相同的问题。 我用127.0.0.1
而不是localhost
解决了。
这是由avast防病毒引起的。 您可以禁用avast防火墙,只允许Windows防火墙处于活动状态。
当我使用chef在VirtualBox VM上设置tomcat和mysql服务器时遇到同样的问题。
在这种情况下,我认为真正的问题是VirtualBox似乎将非localhost地址分配给eth0之类的
[vagrant@localhost webapps]$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:60:FC:47 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
然后使用10.0.2.15作为mysql服务器绑定地址的厨师食谱的自动检测function。
所以在我的案例中为Chef的配方解决问题的节点参数指定绑定地址。 我希望这些信息可以帮助人们使用厨师和流浪汉。
{ "name" : "db", "default_attributes" : { "mysql" : { "bind_address" : "localhost" ... }
这是因为防火墙阻止了数据库连接。
禁用防火墙,然后再次尝试运行该程序。 它对我有用……:D
我在pom.xml中更改了驱动程序版本并帮助了我
org.postgresql postgresql 42.2.2
在我的情况下,解决方案是删除属性
validationQuery="select 1"
来自(Derby DB)资源标签。
如果你使用apache tomcat 8.0版本,而不是它,使用tomcat 7.0我试过localhost到127.0.0.1并关闭防火墙但是没有工作,但是使用tomcat 7.0并且现在正在工作
我有类似的错误。 更改JDBC URL以使用127.0.0.1而不是localhost帮助。
也曾尝试更改catalina.policy文件中的条目,但这没有帮助。 我更改的条目是 – java.net.SocketPermission
- Send String second Argument IdentifierGenerator – Hibernate
- Hibernate Criteria – 返回列不同的记录
- 交易需要例外JPA / Spring
- @Where子句在hibernate join查询中不起作用
- 如何级联删除作为jpa实体一部分的集合?
- 如何使用Hibernate处理多个数据库模式?
- org.hibernate.AnnotationException:referencedColumnNames引用未映射到单个属性
- 相当于Grails中的InheritanceType.TABLE_PER_CLASS?
- 使用Hibernate / JPA和JDK Date进行不需要的自动时区转换