Xa resource is used where there is a distributed transaction is required.
==============================================
According to my knowledge XA drivers are used for globule transaction..and non XA drivers are used for local transaction..
========================================================================
XA : its basically when you have to use a two-phase commit , An XA transaction, in the most general terms, is a "global transaction" that may span multiple resources.
So this would mean for eg if there are two DB which needs to be commited at the same
time .. so in this case you would use an XA drivers
connection Pool :
The reason for using connection pool is ...Opening and maintaining a database connection
for each user, especially requests made to a dynamic database-driven website application,
is costly and wastes resources. So to avoid this the connection pool uses a cache of
database connections maintained so that the connections can be reused when future
requests to the database are required.
=====================================================================
XA:
An XA transaction, in the most general terms, is a "global transaction" that may span multiple resources. An XA transaction involves a coordinating transaction manager, with one or more databases (or other resources, like JMS) all involved in a single global transaction.
XA transactions come from the X/Open group specification on distributed, global transactions. JTA includes the X/Open XA spec, in modified form.
XA gets involved when you want to work with multiple resources - 2 or more databases, a database and a JMS connection, all of those plus maybe a JCA resource - all in a single transaction. In this scenario, you'll have an app server like Websphere or Weblogic or JBoss acting as the Transaction Manager, and your various resources (Oracle, Sybase, IBM MQ JMS, SAP, whatever) acting as transaction resources. Your code can then update/delete/publish/whatever across the many resources. When you say "commit", the results are commited across all of the resources. When you say "rollback", _everything_ is rolled back across all resources.
The Transaction Manager coordinates all of this through a protocol called Two Phase Commit (2PC). This protocol also has to be supported by the individual resources.
In terms of datasources, an XA datasource is a data source that can participate in an XA global transaction.
NON-XA:
A non-XA transaction always involves just one resource.
Non-XA transactions have no transaction coordinator, and a single resource is doing all its transaction work itself (this is sometimes called local transactions).
Most stuff in the world is non-XA - a Servlet or EJB or plain old JDBC in a Java application talking to a single database.
A non-XA datasource generally can't participate in a global transaction (sort of - some people implement what's called a "last participant" optimization that can let you do this for exactly one non-XA item).
============================================
An XA transaction, in the most general terms, is a "global transaction" that may span multiple resources. A non-XA transaction always involves just one resource.
An XA transaction involves a coordinating transaction manager, with one or more databases (or other resources, like JMS) all involved in a single global transaction. Non-XA transactions have no transaction coordinator, and a single resource is doing all its transaction work itself (this is sometimes called local transactions).
Most of the time we use non-XA - a Servlet or EJB or plain old JDBC in a Java application talking to a single database. XA gets involved when you want to work with multiple resources - 2 or more databases, a database and a JMS connection, all of those plus maybe a JCA resource - all in a single transaction. Here, Weblogic will be acting as the Transaction Manager, and your various resources (Oracle, Sybase, IBM MQ JMS, SAP, whatever) acting as transaction resources. Your code can then update/delete/publish/whatever across the many resources. When you say "commit", the results are commited across all of the resources. When you say "rollback", _everything_ is rolled back across all resources.
The Transaction Manager coordinates all of this through a protocol called Two Phase Commit (2PC). This protocol also has to be supported by the individual resources.
In terms of datasources, an XA datasource is a data source that can participate in an XA global transaction. A non-XA datasource generally can't participate in a global transaction (sort of - some people implement what's called a "last participant" optimization that can let you do this for exactly one non-XA item).
相关推荐
本文将详细介绍在处理特殊空格如Non-breaking space(不换行空格,`\xc2\xa0`)时可能遇到的问题及解决方案。 #### 一、问题描述 在Python中,当使用`find`或`index`等函数来查找字符串中的第一个空格时,有时会...
37.5. Mixing XA and Non-XA JMS Connections 37.6. Supporting an Alternative Embedded Transaction Manager 38. Hazelcast 39. Quartz Scheduler 40. Spring Integration 41. Spring Session 42. Monitoring and ...
5. **高级网络API**:如NIO(Non-blocking I/O)和NIO.2,它们提供了一种更有效处理大量连接的方式,特别是对于服务器端应用。 6. **HTTP协议**:讲解如何使用Java实现HTTP客户端和服务端,包括HTTP请求和响应的...
要使用TUXEDO_XA,需要在UBB文件中启用相应的选项,并确保所有参与事务的资源管理器都支持XA协议。 **2.15 Tuxedo能否与MsSqlServer相连呢?** Tuxedo可以与Microsoft SQL Server数据库建立连接。需要使用适当的...
1. 修改TUXEDO安装路径下`udataobj`目录的`RM`文件,取消以`Oracle_XA:xaosw:`开头的行的注释,并添加新的配置行,指示ORACLE的库文件路径。 - 在Windows环境下,配置示例如下: ```text Oracle_XA;xaosw;d:ora81...
本资源包集合了适用于特定型号Macbook的固件,包括293、XA2、294、711、760、839、843、864、865、X72、975、D52、D32、E2、G2、LQ2和LT2等。这些固件版本可能是针对不同年份或配置的Macbook Pro或Air的。 固件更新...
l 内置的JMS适配器XA-capable JMS队列连接器 注释:JMS:jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息...
DICOM(Digital Imaging and Communications in Medicine)是一种标准的医学影像数据交换格式,广泛应用于医疗成像设备,如CT(Computed Tomography)、MRI(Magnetic Resonance Imaging)、US(Ultrasound)以及VL...
本文将详细介绍如何在Linux环境下,特别是Cent OS 5.3操作系统上,进行Tuxedo的安装及配置,以及如何在Non-XA模式下连接Oracle数据库。 首先,我们需要准备三台主机,分别作为Tuxedo客户端、Tuxedo服务器和Oracle...
2. 新建JDBC Data Source,设置名称、JNDI名称,选择相应的数据库驱动(区分XA和non-XA驱动),并进行配置测试,确保数据源可用。 3. 配置完成后,激活更改使设置生效。 在WebLogic 10上部署EJB项目: 1. 进入...
- **Tightly-and Loosely-coupled Threads**:紧密耦合线程和松散耦合线程分别指的是事务管理器与资源管理器之间的不同交互模式。 #### 事务完成与恢复 - **Rolling Back the Global Transaction**:当无法成功...
: [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
Defines the standard and non-standard attributes that can be stored in the file system. ##### NTFS Files: . (Root Directory) (5) The root directory of the volume, which contains the top-level ...
#### ORA-00056: '.' not allowed in object names for non-default schemas - **描述**:在非默认模式的对象名称中不允许使用“.”。 - **解决方法**:避免在非默认模式的对象名称中使用“.”。 #### ORA-00057: ...
" ", // Replace non-breaking space with a regular space "\xa1", // Inverted exclamation mark "\xa2", // Cent sign "\xa3", // Pound sterling "\xa9", // Copyright symbol "", // Remove numeric ...