CriadorDeSession

Por favor, alguém poderia me dizer o que estou fazendo errado nessas duas classes? Já não sei mais o que fazer…

Pois toda vez que vou rodar minha aplicação no servidor, eu preciso dar um CTRL+F5 no browser pra ele funcionar.

package infra;

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");
	}
	
	
}
package infra;

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");
	}
}

Obrigado

isso não tem a ver com o CriadorDeSessao… pelo menos diretamente…

essa classe cuida do banco de dados…

dá algum erro?

Lucas o problema estava no meu servidor e um pouco viagem minha. Como estava usando o VRaptor o meu path inicial era /speech/acesso , mas o servidor exige que eu mapeie o /speech mesmo que eu não o use. Já consegui arrumar!

Muito obrigado pela atenção

Abraço

Lucas o problema estava no meu servidor e um pouco viagem minha. Como estava usando o VRaptor o meu path inicial era /speech/acesso , mas o servidor exige que eu mapeie o /speech mesmo que eu não o use. Já consegui arrumar!

Muito obrigado pela atenção

Abraço