Register or Login to Your Account
can anyone explain about the difference between Local,XA and NO Transactions
in no transaction automaticully commits all operations, in local transactions explictly commits and role back all operations, xa transactions are usind only 2phase transactions.
Use no to handle transaction by webMethods IS internally
Use local to have control on transaction by application code
Use XA to have control transactions across DBs(different databases in a single transaction)
1 NO_TXN: When you configure any JDBC Connection with NO_TXN as TXN type, the Adapter Services which use this kind of connection need not be used commit and rollback services explicitly by the developer. Which means all the transactions are auto commit or auto roll back.
2. LOCAL_TXN: For Adapter Services which use any conection that was configured with LOCAL_TXN as TXN Type, thenthe developer has to use the pub.art.transaction.commit & pub.art.transaction.rollback explitly in his code; which means the transactions are not auto committed and needs explicit transaction control.
Also, all the DB Interactions within the transaction boundary are committed or rolled back together. Txn boundary is when you start a TXN using pub.art.startTransaction ; You can write as many Adapter Services as you want here and then then endTransaction;as you are using LOCAL_TXN all these adapter Services will be committed or rolled back together.
Note: in LOCAL_TXN all the adapter Services you write between start and end txns in should be talking to same database (can talk to multlple tables, though)
3. XA_TXN, Same as Local txn; but the adapter services you write in between start and end can talk to Different DataBases; which means XA_TXN supports multiphase transactions..XA transaction will be used when you want to say, insert content into 2 Diff DBs, one after the other; If the insert in 2nd DB fails then if you want to rollback in the 1st DB as well, then use XA txn.