Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro depois de algumas horas do servidor estar em produção

Bom dia pessoal, me deparei com a seguinte situação, starto a aplicação ela funciona normal, faz login operações tudo 100%, depois de algumas horas geralmente no dia seguinte, tento acessar a aplicação e da o seguinte erro abaixo, porém se restarto o tomcat fica normal!

HTTP Status 500 - br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: javax.persistence.RollbackException: Error while committing the transaction

type Exception report

message br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: javax.persistence.RollbackException: Error while committing the transaction

description The server encountered an internal error that prevented it from fulfilling this request.

exception

br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: javax.persistence.RollbackException: Error while committing the transaction
    br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:54)

Grato pela atenção de todos

3 respostas

Oi Rafael, acho que o problema aí não é do vraptor. Tem a ver com seu banco de dados ou talvez algum datasource que você tenha usado.

Também acho que seja algo do tipo, configurei o C3P0 e vou ver se vai mudar, mais só posso responder amanhã, pois o sistema tem que ficar sem ser acessado para dar o erro!

solução!

Alberto, descobri que é o tempo padrão de uma conexão ociosa no Mysql é de 8 horas, depois meu sistema não entra e tenho que parar o tomcat e startar novamente,

configurei o persistence.xml com C3P0, porém não surtiu efeito e hoje mostrou o mesmo erro,

?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
      http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="default">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <class>br.com.inteligenteweb.grade.model.Produto</class>
        <class>br.com.inteligenteweb.grade.model.Cor</class>
        <class>br.com.inteligenteweb.grade.model.Fornecedor</class>
        <class>br.com.inteligenteweb.grade.model.Medida</class>
        <class>br.com.inteligenteweb.grade.model.Usuario</class>
        <class>br.com.inteligenteweb.grade.model.Nota</class>

        <properties>

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />


            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/grade?autoReconnect=true" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="root" />



            <property name="hibernate.connection.provider"
                value="org.hibernate.connection.C3P0ConnectionProvider" />
            <property name="hibernate.c3p0.min_size" value="5" />
            <property name="hibernate.c3p0.max_size" value="100" />
            <property name="hibernate.c3p0.acquire_increment" value="2" />
            <property name="hibernate.c3p0.timeout" value="60" />
            <property name="hibernate.c3p0.max_statements" value="50" />
            <property name="hibernate.c3p0.idle_test_period" value="3000" />

        </properties>
    </persistence-unit>
</persistence>

Achei no Guj esse topico http://www.guj.com.br/t/conexao-com-o-banco-cai-apos-determinado-tempo/319045

porém como esta hospedado não posso mudar as configurações do mysql.