DEFININDO TRANSACTION TYPE NO PERSISTENCE UNIT

Esta pode ser a origem do seu problema:
[TopLink Warning]: 2008.11.04 12:51:11.184--ServerSession(31768270)--PersistenceUnitInfo "NOME_DO_MEU_PERSISTENCE_UNIT" has transactionType RESOURCE_LOCAL and therefore jtaDataSource will be ignored



Um problema muito rotineiro é quando o tipo de transação esta como RESOURCE_LOCAL, mas o que precisamos é outra coisa, como por exemplo JTA, vejamos um exemplo de como alterar o tipo em menos de 10 segundos (ainda sobrará tempo pra um gole de café):

Vá no seu persistence unit e altere a propriedade transaction-type:

Era assim (com transaction-type="RESOURCE_LOCAL" implicitamente):
<persistence-unit name="NOME_DO_MEU_PERSISTENCE_UNIT" > <jta-data-source>definições do meu datasource</jta-data-source>

vai ficar assim:
<persistence-unit name="NOME_DO_MEU_PERSISTENCE_UNIT" transaction-type="JTA" > <jta-data-source>definições do meu datasource</jta-data-source>

AGORA TU ESTARÁ MANDANDO O JTA-DATASOURCE SER EXPLICITAMENTE USADO

Abraços e esperamos ter ajudado você, na solução de algum bug. Lembrem-se, nos detalhes que mora o perigo, essa pequena alteração demonstrada aqui pode fazer grande diferença na maneira como a instância do seu entityManager é montada.

Valeu

Nenhum comentário: