Conexao

26 respostas
salmaox

bom dia pessoal,

estou com um problema um pouco urgente, coloquei um site no ar que é um cadastro simples. Fiz seguindo a apostila do vraptor3. Ele faz os cadastros mas de tempos em tempos ele dá esse erro. Aí só volta ao normal, qnd reinicio servidor

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: org.hibernate.exception.GenericJDBCException: could not execute query

br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:96)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89)

br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)

br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)

br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)

br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

O que pode ser?

minhas classes de session estão iguais às da apostila…

obrigado

26 Respostas

A

cara,

nao deu mais exceção nao, pois so que essa exceção não da pra te ajudar.

PS: coloque seu codigo dentro da tag [code]

t+

luxu

axo q tem haver com SQL dá uma olhada…

Lucas_Cavalcanti

quais são os caused by?

salmaox

Segue o erro completo

type Exception report

message

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

exception

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: org.hibernate.exception.GenericJDBCException: could not execute query
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:96)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
root cause

org.hibernate.exception.GenericJDBCException: could not execute query
	org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	org.hibernate.loader.Loader.doList(Loader.java:2235)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
	org.hibernate.loader.Loader.list(Loader.java:2124)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
	org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
	projetochuva.cptec.inpe.br.dao.CursoDao.existeEmail(CursoDao.java:27)
	projetochuva.cptec.inpe.br.util.Validacao$5.<init>(Validacao.java:151)
	projetochuva.cptec.inpe.br.util.Validacao.validaCurso(Validacao.java:133)
	projetochuva.cptec.inpe.br.controller.CursosController.adiciona(CursosController.java:62)
	sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
root cause

org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
	org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
	org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
	org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
	org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
	org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
	org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
	org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
	org.hibernate.loader.Loader.getResultSet(Loader.java:1812)
	org.hibernate.loader.Loader.doQuery(Loader.java:697)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	org.hibernate.loader.Loader.doList(Loader.java:2232)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
	org.hibernate.loader.Loader.list(Loader.java:2124)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
	org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
	org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
	projetochuva.cptec.inpe.br.dao.CursoDao.existeEmail(CursoDao.java:27)
	projetochuva.cptec.inpe.br.util.Validacao$5.<init>(Validacao.java:151)
	projetochuva.cptec.inpe.br.util.Validacao.validaCurso(Validacao.java:133)
	projetochuva.cptec.inpe.br.controller.CursosController.adiciona(CursosController.java:62)
	sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

Muito obrigado

A
org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block

tem algum problema na sua transação, coloca seu codigo para que possa te ajudar.
t+

Lucas_Cavalcanti

org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block

tenta dar uma olhada no controle de transações e conexões, parece ter algo de errado com ele

salmaox
Não consegui identificar nada... segue minhas classes
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.ComponentFactory;

@Component
public class CriadorDeSession implements ComponentFactory<Session> {
	
	private final SessionFactory factory;
	private Session session;

	public CriadorDeSession(SessionFactory factory) {
		this.factory = factory;
	}
	
	@PostConstruct
	public void abre() {
		this.session = factory.openSession();
		System.out.println("Abre sessao");
	}

	public Session getInstance() {
		return this.session;
		}
	
	@PreDestroy
	public void fecha() {
		this.session.close();
		System.out.println("Fecha sessao");
	}
	
	
}
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import br.com.caelum.vraptor.ioc.ApplicationScoped;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.ComponentFactory;

@Component
@ApplicationScoped
public class CriadorDeSessionFactory implements ComponentFactory<SessionFactory> {

	private SessionFactory factory;

	@PostConstruct
	public void abre() {
		AnnotationConfiguration configuration = new AnnotationConfiguration();
		configuration.configure();
		this.factory = configuration.buildSessionFactory();
		System.out.println("Abre fabrica");
	}

	public SessionFactory getInstance() {
		return this.factory;
	}

	@PreDestroy
	public void fecha() {
		this.factory.close();
		System.out.println("fecha fabrica");
	}
}
@Component
public class CursoDao {
	
	private final Session session;

	public CursoDao(Session session) {
		this.session = session;
	}
	
	public void adiciona(Curso curso) {
		Transaction tx = this.session.beginTransaction();
		this.session.save(curso);
		tx.commit();
	}
	
	public boolean existeEmail(Curso curso) {
		Curso encontrado = (Curso ) session.createCriteria(Curso .class)
				.add(Restrictions.eq("email", curso.getEmail()))
				.uniqueResult();
		return encontrado != null;
	}

}
[code]
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.connection.username">user</property>
		<property name="hibernate.connection.password">password</property>
		<property name="hibernate.connection.url">jdbc:postgresql://paraguai/chuva</property>
		<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
		<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<!--		<property name="hibernate.hbm2ddl.auto">update</property>-->
		<property name="show_sql">false</property>
		<property name="format_sql">false</property>

		

		<!-- entidades -->
		<mapping class="projetochuva.cptec.inpe.br.modelo.Usuario" />
		<mapping class="projetochuva.cptec.inpe.br.modelo.Experimento" />
		<mapping class="projetochuva.cptec.inpe.br.modelo.Curso" />
		<!-- fim das entidades -->
	</session-factory>
</hibernate-configuration>
Lucas_Cavalcanti

tá aparecendo “Abre sessão” e “Fecha sessão” no console?
em número igual?

vc tá dando em algum lugar um try…catch(Exception) que não relança exception?

salmaox

sim, está aparecendo em número igual!
segue minha classe controller e a validação

@Post @Path("/novo")
	public void adiciona(Curso curso, String msg){
		
		this.result.include("listaUf",combo.estados());
		this.result.include("listaInstituicao",combo.instituicoes());
		this.result.include("listaAtuacao",combo.atuacao());
		this.result.include("listaEscolaridade",combo.escolaridade());
		
		Validacao val = new Validacao(dao, validator);
		val.validaCurso(curso);
		validator.onErrorUsePageOf(CursosController.class).novo();
		
		dao.adiciona(curso);
		this.result.include("message",msg);
		result.redirectTo(this).novo();
		
	}
/* Validação dos campos do formulário de cadastro */
	public Curso validaCurso(final Curso curso) {

		validator.checking(new Validations() {
			{
				that(!curso.getNome().isEmpty() && curso.getNome().length() >= 6, "Error", "nome.obrigatorio");
				
				that(!curso.getCracha().isEmpty() , "Error", "cracha.obrigatorio");
				
				that(!curso.getSexo().equals("Selecione") , "Error", "sexo.obrigatorio");
				
				that(!curso.getInstituicao().equals("Selecione") , "Error", "inst.obrigatorio");
				
				that(!(curso.getInstituicao().equals("Outras") && curso.getOutrasInstituicoes().isEmpty())
						, "Error", "outras.obrigatorio");
				System.out.println("outras:" +curso.getOutrasInstituicoes());

				that(!curso.getEscolaridade().equals("Selecione") , "Error", "escolaridade.obrigatorio");
				
				that(!curso.getEmail().isEmpty() && curso.getEmail().contains("@"), "Error", "email.invalido");
				
				that(!cursoDao.existeEmail(curso), "Error", "email.existe");
				
				that(!curso.getEndereco().isEmpty() , "Error", "endereco.obrigatorio");
				
				that(!curso.getCep().isEmpty() , "Error", "cep.obrigatorio");
				
				that(!curso.getCidade().isEmpty() , "Error", "cidade.obrigatorio");
				
				that(!curso.getUf().equals("--") , "Error", "uf.obrigatorio");
				
				that(!curso.getTelefone1().isEmpty() , "Error", "telefone.obrigatorio");
				
				that(!curso.getRg().isEmpty() , "Error", "rg.obrigatorio");
				
				that(!curso.getAtuacao().equals("Selecione") , "Error", "atuacao.obrigatorio");
				
				that(!curso.getMotivacao().isEmpty() , "Error", "motivacao.obrigatorio");
			}
		});
		return curso;
	}
salmaox

obs: qnd eu reinicio o tomcat ele volta a funcionar e consigo fazer vários cadastros. Aí depois de um tempo ele dá esse erro que eu postei…

:frowning:

Lucas_Cavalcanti

dica: o hibernate validator faz a mesma coisa que esse seu valida curso pra vc automaticamente.

antes de começar a dar o erro que vc falou ele dá alguma outra exception?

salmaox

não…funciona de boa! Eu reinicio o servidor, consigo fazer vários cadastros, aí depois de um tempo ele volta a dar o erro.

salmaox

saca só http://chuvaproject.cptec.inpe.br/projetochuva/cursos/novo

se vc for agora ele tá dando o erro. Mas se eu reiniciar o serviço do apache tomcat ele volta a funcionar novamente. To monitorando no banco as conexões e me parece estar de boa :frowning:

salmaox

vc acha que essas validações podem estar estourando as conexões ou não tem nada a ver?

Lucas_Cavalcanti

tem que ver se as conexões estão sendo fechadas…

faz o seguinte: configure o pool de conexões (c3p0 por exemplo)

isso talvez resolva o problema das conexões…

pode ser que o banco esteja rejeitando a conexão depois de um tempo.

salmaox

estou configurando o xml para o c3p0 mas o eclipse tá dando erro no value…Será que é pq estou usando o hibernate.cfg.xml?

salmaox

e qnd eu coloco o jar no c3p0 na build path ele para de funcionar…

Lucas_Cavalcanti

qual erro? como vc tá fazendo a configuração do c3p0?

salmaox

não chega a dar um erro específico. Só de colocar os jars o eclipse acusa erro e não gera os .class

Lucas_Cavalcanti

qual erro o eclipse dá?

salmaox

Lucas, estou perdidão rsrsr pois fiz minha aplicação segundo a apostila do fj28 onde uso o hibernate.cfg.xml. Fiz aí com você o fj25 onde tem o lance do c3p0 e o persistence.xml é um pouco diferente.

segue os modelos. Agora por cagada o ecplise parou de dar pau qnd coloco o jar.

Por favor, como devo colocar as linhas do Pool no hibernate.cfg.xml?
Este é o xml que estou utilizando

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="hibernate.connection.username">postgres</property>
		<property name="hibernate.connection.password">dsa2009</property>
		<property name="hibernate.connection.url">jdbc:postgresql://localhost/chuva</property>
		<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
		<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
		<property name="show_sql">false</property>
		<property name="format_sql">false</property>	
	
		<!-- entidades -->
		<mapping class="projetochuva.cptec.inpe.br.modelo.Usuario" />
		<mapping class="projetochuva.cptec.inpe.br.modelo.Experimento" />
		<mapping class="projetochuva.cptec.inpe.br.modelo.Curso" />
		<!-- fim das entidades -->
	</session-factory>
</hibernate-configuration>

Segue o persistence.xml que tenho aqui qnd fiz o curso fj25

<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="projetochuva">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>br.inpe.cptec.bean.Curso</class>
		
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
			<!-- poderia ser: create,create-drop -->
			<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/chuva"/>
			<property name="javax.persistence.jdbc.user" value="postgres"/>
			<property name="javax.persistence.jdbc.password" value="dsa2009"/>
		</properties>
	</persistence-unit>

</persistence>

Estou querendo refazer a aplicação pelo que aprendi no curso fj25 já que é um cadastro básico, pois qnd fiz a aplicação ainda não tinha feito o curso. Note que no hibernate.cfg.xml não possui value nos e é isso que o eclipse está chiando…

obrigado

salmaox

Estou testando assim

org.hibernate.connection.C3P0ConnectionProvider

no hibernate.cfg.xml

ao invés de colocar no value eu coloco fora…como estão todos os outros, OK?
pelo meno não está dando erro no eclipse

Lucas_Cavalcanti

é assim mesmo, sem value, com o valor dentro da tag

salmaox

Bom, coloquei aparentemente está tudo ok. Preciso esperar agora pra ver se o erro voltará, pois das outras vezes ele funcionava porém parava depois de um tempo. Lucas, pelo meu código que postei aí, você viu se as transações e conexões estavam corretas? Pelo que entendi as transações e as conexões o hibernate faz isso automático usando também as anotações @ApplicationScoped, e os métodos @PostConstruct e @PreDestroy, não?

Lucas_Cavalcanti

não é o hibernate que faz isso automático, é você que está fazendo…

o VRaptor vai chamar os PostConstruct e PreDestroy pra você no inicio e no fim da vida do componentFactory

salmaox

Obrigado Lucas,

Até agora tá tudo ok, acredito que deverá continuar assim.

Muito Obrigado

Abs

Marcos

Criado 30 de setembro de 2011
Ultima resposta 30 de set. de 2011
Respostas 26
Participantes 4