Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring JPA Hibernate通信链路故障错误_Spring_Hibernate_Jpa_Spring Mvc_Heroku - Fatal编程技术网

Spring JPA Hibernate通信链路故障错误

Spring JPA Hibernate通信链路故障错误,spring,hibernate,jpa,spring-mvc,heroku,Spring,Hibernate,Jpa,Spring Mvc,Heroku,我在JPA和Hibernate方面遇到了一个真正的问题,它有时会导致通信链路故障,不确定为什么会经常发生不确定为什么是环境问题配置问题不能真正了解我的想法,我希望其他人能就此问题提供意见,并希望为我指明正确的方向 这是堆栈跟踪 21:41:34,726 DEBUG SqlExceptionHelper:139 - Communications link failure 2013-02-21T21:41:34+00:00 app[web.1]: 2013-02-21T21:41:34+00

我在JPA和Hibernate方面遇到了一个真正的问题,它有时会导致通信链路故障,不确定为什么会经常发生不确定为什么是环境问题配置问题不能真正了解我的想法,我希望其他人能就此问题提供意见,并希望为我指明正确的方向

这是堆栈跟踪

 21:41:34,726 DEBUG SqlExceptionHelper:139 - Communications link failure
 2013-02-21T21:41:34+00:00 app[web.1]: 
 2013-02-21T21:41:34+00:00 app[web.1]: The last packet successfully received from the  server was 79,581 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago. [n/a]
 2013-02-21T21:41:34+00:00 app[web.1]: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  2013-02-21T21:41:34+00:00 app[web.1]: 
 2013-02-21T21:41:34+00:00 app[web.1]: The last packet successfully received from the server was 79,581 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
 2013-02-21T21:41:34+00:00 app[web.1]:  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
POM.xml

<properties>
  <org.springframework.version>3.1.1.RELEASE</org.springframework.version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <version>2.2.8</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.20</version>
</dependency>
<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>
<dependency>
    <groupId>com.github.jsimone</groupId>
    <artifactId>webapp-runner</artifactId>
    <version>7.0.27.1</version>
    <scope>provided</scope>
</dependency>


<!-- Tiles dependency -->
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-core</artifactId>
    <version>2.2.1</version>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-jsp</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-api</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-template</artifactId>
    <version>2.2.1</version>
</dependency>

<!-- Security -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>3.1.3.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>3.1.3.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>3.1.3.RELEASE</version>
</dependency>

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.0.0.GA</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>4.1.4.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.3.1.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>4.1.4.Final</version>
</dependency>
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.1</version>
</dependency>

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.11</version>
</dependency>
<!-- Junit API -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.8.1</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.9.5</version>
</dependency>


<!-- JavaMail API -->
<dependency>
    <groupId>javamail</groupId>
    <artifactId>javamail</artifactId>
    <version>1.3.3</version>
</dependency>
<!-- Java Activation -->
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- JavaMail extension -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.6-rc1</version>
</dependency>
<!-- LOG4J -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
</dependency>

<!-- The newrelic-agent.jar dependency. -->
<dependency>
    <groupId>com.newrelic.agent.java</groupId>
    <artifactId>newrelic-agent</artifactId>
    <version>2.12.0</version>
    <scope>provided</scope>
</dependency>
<!-- The newrelic-api.jar dependency. -->
<dependency>
    <groupId>com.newrelic.agent.java</groupId>
    <artifactId>newrelic-api</artifactId>
    <version>2.12.0</version>
    <scope>compile</scope>
</dependency>
<!-- The newrelic-java.zip dependency. -->
<dependency>
    <groupId>com.newrelic.agent.java</groupId>
    <artifactId>newrelic-java</artifactId>
    <version>2.12.0</version>
    <scope>provided</scope>
    <type>zip</type>
</dependency>
<dependency>
    <groupId>aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.5.4</version>
</dependency>
</dependencies>

<build>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
    <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.6</version>
        <executions>
            <execution>
                <id>unpack-zip</id>
                <phase>package</phase>
                <goals>
                    <goal>unpack-dependencies</goal>
                </goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>com.newrelic.agent.java</groupId>
                            <artifactId>newrelic-java</artifactId>
                            <version>theVersion</version>
                            <type>zip</type>
                            <overWrite>true</overWrite>
                            <outputDirectory>target</outputDirectory>
                            <destFileName>newrelic</destFileName>
                        </artifactItem>
                    </artifactItems>
                    <outputDirectory>/newrelic</outputDirectory>
                </configuration>
            </execution>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>copy</goal>
                </goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>com.github.jsimone</groupId>
                            <artifactId>webapp-runner</artifactId>
                            <version>7.0.27.1</version>
                            <destFileName>webapp-runner.jar</destFileName>
                        </artifactItem>
                    </artifactItems>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

3.1.1.1发布
UTF-8
javax.servlet
javax.servlet-api
3.0.1
假如
org.springframework
SpringWebMVC
${org.springframework.version}
org.springframework
春季甲虫
${org.springframework.version}
塔格利布
标准
1.1.2
javax.servlet
jstl
1.2
org.hsqldb
hsqldb
2.2.8
mysql
mysql连接器java
5.1.20
公共dbcp
公共dbcp
1.4
com.github.jsimone
webapprunner
7.0.27.1
假如
org.apache.tiles
砖芯
2.2.1
org.apache.tiles
平铺jsp
2.2.1
org.apache.tiles
瓷砖api
2.2.1
org.apache.tiles
瓦片servlet
2.2.1
org.apache.tiles
瓷砖模板
2.2.1
org.springframework.security
spring安全内核
3.1.3.1发布
org.springframework.security
spring安全网
3.1.3.1发布
org.springframework.security
spring安全配置
3.1.3.1发布
javax.validation
验证api
1.0.0.GA
org.hibernate
休眠实体管理器
4.1.4.最终版本
org.hibernate
休眠验证器
4.3.1.最终版本
org.hibernate
hibernate-c3p0
4.1.4.最终版本
乔达时间
乔达时间
2.1
org.codehaus.jackson
杰克逊地图绘制者
1.9.11
朱尼特
朱尼特
4.8.1
测试
org.mockito
莫基托所有
1.9.5
javamail
javamail
1.3.3
javax.activation
激活
1.1.1
javax.mail
邮件
1.4.6-rc1
log4j
log4j
1.2.17
org.slf4j
slf4j-log4j12
1.5.6
com.newrelic.agent.java
新文物代理人
2.12.0
假如
com.newrelic.agent.java
newrelic api
2.12.0
编译
com.newrelic.agent.java
纽瑞爪哇
2.12.0
假如
拉链
aspectj
aspectjweaver
1.5.4
maven编译器插件
1.6
1.6
maven战争插件
2.2
org.apache.maven.plugins
maven依赖插件
2.6
打开拉链
包裹
解包依赖项
com.newrelic.agent.java
纽瑞爪哇
版本
拉链
真的
目标
纽舍利
/纽舍利
包裹
复制
com.github.jsimone
webapprunner
7.0.27.1
webapp-runner.jar

Persistence.xml

  <persistence-unit name="dataSource">
   <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property key="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
            <property key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <property key="hibernate.show_sql">true</property>
            <property key="hibernate.hbm2ddl.auto">verify</property>
            <property key="hibernate.current_session_context_class">thread</property>
            <property key="hibernate.c3p0.acquire_increment">1</property>
            <property key="hibernate.c3p0.min_size">5</property>
            <property key="hibernate.c3p0.max_size">20</property>
            <property key="hibernate.c3p0.timeout">5000</property>
            <property key="hibernate.c3p0.max_statements">100</property>
            <property key="hibernate.c3p0.idle_test_period">3000</property>
            <property key="hibernate.c3p0.testConnectionOnCheckout">true</property>
            <property key="hibernate.c3p0.acquireRetryAttempts">1</property>
    </properties>

org.hibernate.ejb.HibernatePersistence
org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
org.hibernate.dialogue.mysqldialogue
真的
验证
线
1.
5.
20
5000
100
3000
真的
1.

ApplicationContext.xml

  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url"
        value="#{ 'jdbc:mysql://' + @dbUrl.getHost() + @dbUrl.getPath() }" />
    <property name="username" value="#{ @dbUrl.getUserInfo().split(':')[0] }" />
    <property name="password" value="#{ @dbUrl.getUserInfo().split(':')[1] }" />
</bean>

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
    </property>
</bean>

如果发生在空闲连接8小时后,这可能是由于mysql造成的。默认情况下,MySql会在8小时后关闭所有空闲连接。但我在你的配置中看到你使用空闲测试周期。。也许它不起作用了