public class UserTransaction { private static Map threadDbconnectionMap = new HashMap(); public void begin() { dataSource.getConnection().setAutoCommit(false); threadDbConnectionMap.put(Thread.currentThread(), dataSource.getConnection()); dataSource.getConnection().startTransaction(); } public void commit() { dataSource.getConnection().commitTransaction(); threadDbConnectionMap.remove(Thread.currentThread()); } } public class DataSource { private static Map threadDbConnectionMap = new HashMap(); public Connection getConnection() { if(threadDbConnectionMap.get(Thread.currentThread()) == null) { threadDbConnectionMap.put(Thread.currentThread(), DBCONNECTION_POOL.getConnection); } return (Connection)threadDbConnectionMap.get( Thread.currentThread()); } } |
UserTransaction的机制就是建立一个currentThread和一个DBconnection的map,使得在同一个thread下的所有db operation使用同一个connection,这样通过背后的同一个connection的commit或rollback来保证transaction的atomic
相关推荐
FLEX ;Unable to access UserTransaction in DataService 解决配置问题
usertransaction-in-java-se 要测试这个问题 我看到这个链接: : 我正在阅读另一个 ,然后我进行此测试以查看结果。
javax.transaction.jar javax.transaction.jar
在Weblogic上配置Hibernate为JNDI
EJB中的JTA与JTS例子代码,JTA是一种高层的,与实现无关的,与协议无关的J2ee ... Bean自管理事务对于自管理事务的EJB,需要从EJB上下文中获取UserTransaction的接口引用,由自己负责完成事务的开始、提交或者回滚。
Java EJB JTA JTS用法示例源代码,例子对基于JTA的事务处理的实现进行了讨论,其中事务对象UserTransaction在EJB组件中执行,其实事务对象UserTransaction也可以在客户端使用。 J2EE包括了两套规范,用来支持...
b) 通过查找JNDI名为javax.transaction.UserTransaction的拿到UserTransaction c) new 一个UserTransaction对象 d) 不需要实例化,直接使用接口中的方法即可 参考答案 18) 关于事务,下列说法不正确的事 a ...
JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。 要用 JTA 进行事务界定,应用程序要调用 javax.transaction.UserTransaction 接口中的方法。
public int delete(int sID) { DataBaseConnection dbc = null; dbc = new DataBaseConnection(); dbc.getConnection();... UserTransaction transaction = sessionContext.getUserTransaction();//获得JTA事务
#jta.UserTransaction javax.transaction.UserTransaction #jta.UserTransaction UserTransaction ## to use the second-level cache with JTA, Hibernate must be able to obtain the JTA TransactionManager #...
jta.jar 会用到包中的usertransaction,具体什么用此处暂时不论 quartz-1.6.0.jar 会用到CronTrigger这个类,通过表达式实现精确的定时 commons-logging-1.1.1.jar 日志管理包 commons-collections-3.2.1.jar 集合...
在Tomcat6中配置好的java工程已经配置好JTOM的DataSource和UserTransaction,打包下载.请自行配置数据库与补全Tomcat6中的公共文件.然后就可以直接访问页页http://127.0.0.1:8080/DaoTemplate_my/books.jsp和...
一个开发框架 SVN 下面的地址: ...数据库采用 JDBC+DataSource&UserTransaction 的方式。如果是追求框架的人可以直接跳过。 欢迎喜欢研究技术的人评论。 详细信息 请看根目录的ReadMe.txt 文档会在今后补全。
<property name="userTransaction"> <!-- 数据源A --> ${jdbc.driver}"/> ${jdbc.url}"/> ${jdbc.username}"/> ${jdbc.password}"/> <!-- 数据源B --> ${jdbc2.driver}"/> ${...