Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
3.2.2.9. Atualização de seu Aplicativo para Ficar de Acordo com a Especificação JPA 2.0
A especificação JPA 2.0 requer que um contexto de persistência não possa ser propagado fora da transação JTA. Caso o seu aplicativo utilize apenas contextos de persistência de transação com escopo, o comportamento é o mesmo que no JBoss EAP 6, assim como era nas versões anteriores do servidor do aplicativo, e não requer alterações. No entanto, se o seu aplicativo utiliza um contexto de persistência estentido (XPC) para permitir o enfileiramento ou o agrupamento das alterações de dados, é possível que necessite fazer alterações no seu aplicativo.
Caso o seu aplicativo possua um bean de sessão com monitorização de estado (stateful), Bean1
, que usa um contexto de persistência estendido e demanda um bean de sessão sem monitorização de estado (stateless), Bean2
, que usa um contexto de persistência de transação com escopo, espera-se que ocorra o seguinte comportamento:
- Se
Bean1
inicia uma transação JTA e realiza a invocação de métodoBean2
com a transação JTA ativa, o comportamento no JBoss EAP 6 é o mesmo das versões anteriores e não requer alterações. - Se
Bean1
não incia uma transação JTA e realiza a invocação de métodoBean2
, o JBoss EAP 6 não propaga o contexto de persistência estendido aoBean2
. Esse comportamento é diferente das versões anteriores que propagavam o contexto de persistência estendido aoBean2
. Se o seu aplicativo espera que o contexto de persistência estendido seja propagado ao bean com o gerenciador de entidade transacional, o seu aplicativo precisará ser alterado para realizar a invocação dentro de uma transação JTA ativa.