Xa数据源和非Xa数据源的选择
Weblogic Xa数据源和非Xa数据源的选择
在项目上,不管是ADF应用,BPM应用,或者是OSB、SOA接口,数据源和出站连接池的建立必然少不了,而数据源的类型就有Xa数据源和非Xa数据源,那我们如何选择呢,选择不当会造成什么后果呢,下面给出一点小小的心得
如何选择:
在新建数据源的时候,经常面临是建立Xa数据源还是非Xa数据源,这块有一个选择标准,如果数据库后台package的函数或者过程
需要commit或者rollback,那么调用这个package的数据源就必须是非Xa的。
换言之,需要统一事物管理的用Xa数据源,事物需要单独处理的用非Xa数据源。
如Soa、Osb接口就需要用Xa数据源,ADF程序或者自开发的有用到JDBC连接方式的程序都需要用非Xa数据源
选择不当:
如果在调用程序中有commit或者rollback,而数据源又选择了Xa类型,后台 可能会出现如下错误
JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = wmsSqlServerDS
XA数据源超时设置:
XA数据源建立后,通常需要设置下事物超时和超时时间