Estou fazendo um sistema usando Java1.8, JSF 2.3, hibernate 5.4.x e Tomcat 9, com padrão MVC e entitymanager.
O problema é que para salvar o primeiro objeto em um formulário, ele demora uns 3 a 5 segundos. Depois, tudo fica normal. Acredito que seja o start inicial do Entity. Isto é normal?
Aproveitando, alguém já conseguiu implementar um converter no jsf 2.3, sem usar o Omnifaces ?
Em qual linha exatamente ocorre isso? Se for na hora do createEntityManagerFactory, não tem jeito, isso é uma bomba mesmo do Hibernate. Embora só execute isso uma vez e depois fique rápido, é um objeto pesado que fica toda vida na memória da aplicação.
M
Mrzappabr
Imaginei que fosse isto mesmo amigo javaflex. É uma baita bomba. O engraçado é que usando o session não fica assim tão lento. Eu falei algo em torno de 5 segundos? Pois errei, esta chegando nos 10s… achei meio absurdo.
Depois da travada inicial, tudo fica super rápido…
Obrigado pela rápida resposta!
J
javaflex1 like
A session apesar de ter o custo do cache, é rápido para criar, o problema é a fábrica de sessões. Pra quem escolhe hibernate tem esse custo alto. O pior de tudo é escalar aplicações com hibernate, mas não parece ser o seu cenário.
J
javaflex1 like
Na minha opinião existem tecnologias melhores, como ASP.NET Core com C#. Mas se a pessoa tem melhor experiência com Java, melhor usar Java. Usando de forma magra já não cai nesses problemas. Ao invés de Hibernate por exemplo, usaria JDBCTemplate, ao invés de JSF usaria Spring Boot.
No mercado com legados é outra história, pouco importa se a solução já adotada pela empresa é boa ou ruim, você tem que atender as necessidades do negócio com a tecnologia usada atualmente ou esperar novos investimentos.
Acompanho pouco Python na prática, vejo ser bastante usada no meio acadêmico e cientifico, bem difundida para IA. O que a galera mais comenta para aplicações web é Django mesmo.
M
Mrzappabr
Vou fechar esta pois , com sua ajuda, descobri o problema. Eu estou iniciando o projeto com drop-and-create, sendo assim, toda a vez que inicializo o sistema, recriam-se as tabelas e, toda vez que acrescento mais uma entity, demora mais ainda. Fiz o teste apenas com update e ficou apenas um um delay de 1 ou 2 segundos…suportável.
Obrigado pela paciência e pelas aulas. abs
J
javaflex1 like
O lado positivo do Java é o mercado/legados, não ficará desempregado por um bom tempo se dominar Java. Vale o mesmo para o antigo .NET.
J
javaflex
Então você tem a liberdade de escolher o que julgar melhor.