Eu tenho tido problemas de simultaneidade com seqüências TABLE no MySQL e descobri que a solução pode estar configurando um conjunto de conexões separado para geração de seqüências. Nesta pergunta stackoverflow, ela aponta para a Documentação Eclipselink, que tem uma seção para um exemplo que está vazia. Não consigo encontrar nenhum exemplo de como isso está configurado.
Meu persistence.xml no momento está abaixo. O que devo alterar para garantir que a geração de sequências seja executada em um pool de transação / conexão separado.
Também seria ótimo saber o que devo procurar para determinar se está funcionando, além de apenas esperar para ver se os deadlocks param de ocorrer.
Muito Obrigado
jdbc/myapp jdbc/myapp/nonjta false
Tente também dar uma fonte de dados não-jta,
jdbc/myapp/nonjta
Você precisará criar o DataSource em seu servidor de aplicativos como não-JTA.