Algumas vezes você vai se deparar com o erro “XID IS NOT VALID” usando os datasources XA, algo semelhante á este erro:
XA error: XAResource.XAER_NOTA start() failed on resource ‘MyDataSource’: XAER_NOTA : The XID is not valid
Lembrando como funciona o transacional:
O WLS vai se certificar de que os XA Resources tem a sequência correta de chamadas: XA_START, Instruções SQL e XA_END.
xa_start to for DataSource ———->PoolA
Executing SQL Statements for DataSource ———->PoolA
xa_start(Joining PoolB) for DataSource ———->PoolB
Executing SQL Statements for DataSource ———->PoolA
Executing SQL Statements for DataSource———->PoolB
xa_end() for DataSource ———->PoolB
xa_end() for DataSource ———->PoolA
sugestão de workaround:
Abra as configurações do datasource, e na aba transaction ative a opção “Set XA Transaction Timeout”, coloque um valor de acordo com a sua infra (aqui estou colocando 660).