随笔分类 -  Transaction

tips in transaction
摘要:事务管理器与数据库连接的关系特别是JTA事务与数据库Connection之间的关系。java事务分为JDBC事务即驱动自带的事务管理器和JTA事务,JTA事务常见的实现有JBoss的事务管理器和JOTM实现,前者常与Jboss数据源结合使用(包括JBoss实现的数据库连接池),后者与xapool(支持分布式事务)配合使用。当出现高并发事务,同一事务内操作,前面插入的数据后面查询不出来,原因很可能是一个事务内的连接被切换了,出现这种问题的原因是事务内的连接没进行管理。目前spring已经提供比较好的管理实现,可以参考使用。经验证JOTM与XAPool结合并不稳定,存在较多不确定性稳定。Open 阅读全文
posted @ 2013-01-25 17:34 echx 阅读(487) 评论(0) 推荐(0) 编辑
摘要:Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义,也就是配置事务的属性。Spring在TransactionDefinition接口中定义这些属性,以供PlatfromTransactionManager使用, PlatfromTransactionM 阅读全文
posted @ 2012-11-09 00:19 echx 阅读(307) 评论(0) 推荐(0) 编辑
摘要:希望可以更直观地了解Infinispan的事务管理,(提一点Infinispan是遵循LGPL,具体开源协议参阅《各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT》)本文重点在JTA的使用在上一篇《Ehcache 事务管理源码探析》中针对Ehcache的JTA事务管理说明了一番,是在JBoss服务器环境下使用JTA。同样在Infinispan中也具有获取JBoss容器事务管理器的能力,即配置事务查找器为JBossTransactionManagerLookup,实现源码如下:/** * Uses JNDI to look-up the { 阅读全文
posted @ 2012-02-10 14:16 echx 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:可能与大家关注点有不同,有考虑不周处,请大家指出...Ehcache获取分布式事务支持可从net.sf.ehcache.transaction.manager.DefaultTransactionManagerLookup类中知晓:private final JndiSelector defaultJndiSelector = new JndiSelector("genericJNDI", "java:/TransactionManager"); private final Selector[] transactionManagerSelectors = 阅读全文
posted @ 2012-02-10 12:04 echx 阅读(3193) 评论(0) 推荐(1) 编辑
摘要:先给出通过JBoss容器获取JTA事务的方法private UserTransaction getUserTransaction() throws ServletException { UserTransaction ut; try { InitialContext ic = new InitialContext(); //comp java:/UserTransaction ut = (UserTransaction) ic.lookup("java:comp/UserTransac... 阅读全文
posted @ 2012-02-04 17:36 echx 阅读(3972) 评论(0) 推荐(1) 编辑