@Claytonquintiliano escreveu:
Tenho um aplicação Java swing que utiliza o banco de dados MySQL, em sua operação depois de passado algum tempo em funcionamento percebi que a aplicação travava em alguns momentos, sendo necessário reiniciar o computador para conseguir realizar o processo novamente pois mesmo fechando a aplicação e a abrindo novamente o mesmo problema persistia. Consegui identificar que o problema ocasionava no momento de realizar a gravação ou atualização de informações. Consultando o Workbench chequei as conexões e vi que havia um usuário parado com o comando referente ao processo.
O estado daquela conexão estava comoWaiting for table level lock
agora não tenho a certeza de que é ela que esta causando o problema ou algo da minha aplicação que não esta tratando de forma correta.DAO.java
public int create(Produto produto) { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); em.persist(produto); em.getTransaction().commit(); } finally { if (em != null) { em.close(); } } return produto.getCodproduto(); } public void edit(Produto produto) throws NonexistentEntityException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); produto = em.merge(produto); em.getTransaction().commit(); } catch (Exception ex) { String msg = ex.getLocalizedMessage(); if (msg == null || msg.length() == 0) { Integer id = produto.getCodproduto(); if (findProduto(id) == null) { throw new NonexistentEntityException("The produto with id " + id + " no longer exists."); } } throw ex; } finally { if (em != null) { em.close(); } } }
`
Mensagens: 2
Participantes: 2