不同的数据库一定要分包建立 引用:http://blog.csdn.net/benluobobo/article/details/49818017 http://blog.csdn.net/yds492203171/article/details/53394353…
1 java事务类型 Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供的,容器事务大多是基于JTA完成,这是一个基于JNDI的,相当复杂的API实现.本人非常厌恶使用JNDI来访问容器组件,所以不推荐使用容器事务.不知道JNDI是什么的,可以访问jndi通俗理解以及它的指令缺陷.本文主要介绍J2EE开发中两个比较基本的事务:JDBC事务和JTA事务,重点是介绍JTA事…
Spring Cloud 分布式事务管理 在微服务如火如荼的情况下,越来越多的项目开始尝试改造成微服务架构,微服务即带来了项目开发的方便性,又提高了运维难度以及网络不可靠的概率. Spring Cloud 分布式事务管理 单体式架构 微服务架构 优点: 缺点: 分布式事务的引入 分布式事务解决方案 基于XA协议的两阶段提交 消息事务+最终一致性 TCC编程模式 具体实现 LCN ByteTCC 在说微服务的优缺点时,有对比才会更加明显,首先说一下单体式结构 单体式架构 在单体式架构中,系统通常采…
1.保证消息传递与一致性 1.1生产者确保消息自主性 当生产者发送一条消息时,它必须完成他的所有业务操作. 如下图: 这保证消费者接受到消息时,生产者已处理完毕相关业务,也就是1PC的基础. 1.2 MQ保存并转发消息 消息标记为持久化,MQ将会利用保存并转发机制,来履行它与发送者之间的契约. 至于activemq高可用部分,详见另外一篇blog:https://my.oschina.net/floor/blog/1574213 一般MQ保存并转发的流程如下: 1.3消费者确认模式的选择 JMS…
关于spring boot 支持分布式事务,XA是常用的一种方式. 这里把相关的配置记下,方便以后使用. 首先配置两个不同的数据源 : 订单库.持仓库. /** * Created by zhangjunwei on 2017/8/2. */ @Configuration public class DataSourceConfig { /** * db1的 XA datasource * * @return */ @Bean(name = "symbolOrder") @Primary…
1. 声明式事务管理分类 声明式事务管理也有两种常用的方式, 一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解. 显然基于注解的方式更简单易用,更清爽. 2. spring事务特性 spring所有的事务管理策略类都继承自org.springframework.transaction.PlatformTransactionManager接口 其中TransactionDefinition接口定义以下特性:事务隔离级别.事务传播行为.事务超时.事务只读…
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSource.TransactionManager这两部分只是会根据数据访问方式有所变化,…
1.获取镜像 ## 使用下面命令获取最新版本的镜像,此时我的版本是1.3.0 ## 或者可以使用docker pull seataio/seata-server:latest获取最新的镜像 docker pull seataio/seata-server:1.3.0 2.运行容器并获取配置 为方便我们对seata配置修改我们需要先运行下seata-server,然后将配置拷贝到宿主机中,完成之后删除之前配置并通过宿主机运行容器. ## 运行容器 docker run --name seata-s…
atomikos几个坑:1.jta.properties:com.atomikos.icatch.output_dir=/datayes/atomikoscom.atomikos.icatch.log_base_dir=/datayes/atomikos若一个tomcat上有两个atomikos应用,则两个应用不要公用同一位置 2.datasource的用户名密码url不对,应用启动会失败,而且什么错误日志也没有,日志打到中间就没有新的日志输出了. 3.MySQL XA bugSome user…
声明式事务管理,基于AOP对目标代理,添加环绕通知,比编码方案优势,不具有侵入式,不需要修改原来的代码. 1.基于XML配置的声明式事务管理方案(案例)      接口Service public interface IAccountService { public void account(String outname,String inname,double money); } service实现类 //@Transactional()注解时使用public class AccountSer…