Galera desculpa criar este tópico… + estou desesperado… rsrs
procurei vários tutoriais, video aula, livro (e-book), na internet e não achei nada que eu queria…
eu estou com 2 problemas…
1- não sei ao certo quando instanciar um novo objeto, parece que cada vez que alguem entra no meu sistema ele cria “algo” novo na memória e ela vai sobrecarregando… sei disso pois tenho um servidor alugado VPS e pelo linux usando htop eu vejo o uso da memória…
2- minha conexão com o banco de dados está ficando aberta e depois de um tempo da erro
Eu vi vários tutoriais na internet, mais eu não consegui achar nenhum que ensina +ou- da forma que eu faço…
1 - Primeiro eu faço a modelagem do banco no MySQL Workbench
2 - Crio o projeto no netbeans 6.8 ou superior… e nessa parte já adiciono JSF 2.0, hibernate e primefaces…
3- crio um pacote modelo, e faço a engenharia reversa… neste caso ja vai criar a persistence.xml que vai ficar as configurações de conexão com o banco… no caso vai ficar NomedoprojetoPU
4- depois eu crio o pacote “beans” e crio por exemplo o UsuarioBean. onde eu coloco a anotação @ManagedBean e faço os métodos de salvar, getters and setters etc…
5- e eu tenho um pacote “banco” com 2 classe… “Persitencia” que tem uma referencia pro NomedoprojetoPU e “DaoGenerico” que tem alguns métodos como por exemplo:
public void salvarNovo(Object obj){
em.getTransaction.begin();
em.persist(obj);
em.getTransaction.commit();
}
Se alguém puder me ajudar, eu iria agradecer muito, nem que for pra min posta meu projeto completo aki pra download…
Eu to sempre ajudando ai no fórum… estou sempre ativo, e se alguém puder me ajudar eu agradeço muito
Qualquer coisa se alguem tiver um livro ou tutorial, qualquer coisa que ajude eu fico grato =)
Eu tenho 3 livros de java, mais é muito extenso e complexo… se eu pegar um projeto pronto fazendo um CRUD por exemplo bem simples já iria ajudar…
Tenta fazer assim no seu Dao genérico coloca esse método
public void close() {
if (em != null && em.isOpen()) {
em.flush();
em.getTransaction().commit();
em.close();
}
}
// quando for fazer insert, update ou delete faça assim
em.getTransaction.begin();
em.persist(obj);
this.close();
[quote=gilmaslima]Tenta fazer assim no seu Dao genérico coloca esse método
public void close() {
if (em != null && em.isOpen()) {
em.flush();
em.getTransaction().commit();
em.close();
}
}
// quando for fazer insert, update ou delete faça assim
em.getTransaction.begin();
em.persist(obj);
this.close();
outro problema eh que cada sessão criada ta carregando muito a memória do servidor
aff meu projeto ta totalmente fora do padrão e eu não acho nada pra corrigir isso…!!
“Veja se você não tem algum código que não está fechando a conexão.”
Bom o problema é esse mesmo, porém eu não sei como fazer para “fechar” a conexão e “abrir” quando necessário…
Meu projeto ta todo bagunçado, eu não tenho um “padrão” pra desenvolver… :S
com seu post, meio que “sem querer” você me ajudou pois entrei no seu blog e vi este post: http://uaihebert.com/?p=836
Que está me ajudando d+, pois eu gosto de trabalhar com novas tecnologias, sempre atualizado…
a unica coisa “ruim” nele de começo é que eu sou + acostumado a usar o netbeans + tomcat e você ta usando eclipse + jboss… mais tranquilo, instalei eclipse no meu linux e já estou seguindo seu tutorial, até agora tudo certo !!!
MySQL -> banco de dados é o que menos me preocupo, uso o postgres pq é o que está instalado aqui. Basta trocar o JAR que funciona.
Eclipse, Tomcat, JSF 2 -> Exatamente isso que vou utilizar.
Primefaces, Ireport -> Não pretendo para o post não ficar grade. O ideal é mostrar o básico e depois o usuário crescer com a aplicação.
Ainda pretendo lançar vários posts sobre Primefaces, mas após o post da aplicação com Tomcat.