spring-data-jpa到mysql连接问题

时间:2016-12-07 13:17:19

标签: mysql jdbc orm spring-data-jpa

我这里有来自spring boot应用程序的mysql连接问题。将尝试提供所需的所有信息 - 如果仍然缺少某些信息,请询问。我会尝试更新。

首先 - 因为它是一个关键元素,我的mysql用户有一个限制 - 设置为5.并且它不能增加。除非我能找到一些真正的论据。

我正在使用mysql驱动程序mysql-connector-java-5.1.39.jar 在spring boot应用程序中1.4.1.RELEASE。

问题如下: 每隔6个节点获取连接最终会出现以下错误消息:

org.springframework.orm.jpa.JpaSystemException: Unable to acquire JDBC Connection; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:333)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:491)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy119.findByMsisdn(Unknown Source)

然后 - 接下来的5个连接都可以。它又在一个循环中。

看起来我的spring应用程序在使用后没有释放(以某种方式)连接。或者将其打开直到发生此错误。

failes的功能 - 是简单的ORM - 使用spring.data.repository将表映射到java对象。

连接池配置:

  

分贝:     数据源:       url:jdbc:mysql:// server1,server2 / db       用户名:XXX       密码:YYY       driver-class-name:com.mysql.jdbc.Driver       最大等待:5000       最大活跃度:2       min-idle:1       max-idle:2

并且 - 有一些外部因素,我不知道。我这样说是因为它并不总是那样失败。但只是在不确定的时间段内。

如果有人有想法 - 请帮助。

0 个答案:

没有答案