Middleware, Weblogic

“XAER_NOTA : The XID is not valid” – Erro JDBC

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).

Leave a comment