首页 > 其他 > 详细

TX-LCN分布式事务-- TCC事务模式(生产者模块)

时间:2021-04-30 21:14:04      阅读:41      评论:0      收藏:0      [点我收藏+]

 

自己学习用,待补充!

 

对比 LNC模块,就改一下  Controller (注解要换):

 

@Controller
public class TccController {

    @Autowired
    ProducerInfoMapper producerInfoMapper;

    @Autowired
    RestTemplate restTemplate;

    private static ConcurrentMap<String,String> maps = new ConcurrentHashMap<>();


    @RequestMapping("/addProducer-tcc")
    @Transactional(rollbackFor = Exception.class)
    @TccTransaction
    public @ResponseBody String AddProducer(){

        JSONObject json = new JSONObject();
        ProducerInfo producerInfo = new ProducerInfo();
        String id = SnowFlake.nextId()+"";
        System.out.println("获得Id : "+id);
        maps.put("id",id);
        json.put("id",id);
        producerInfo.setId(id);
        producerInfo.setName("li");
        restTemplate.postForEntity("http://localhost:8090/addConsumer-tcc",json,String.class);
        int i = 1/0;
        producerInfoMapper.insert(producerInfo);
        return "addProducer插入成功";
    }

    public String confirmAddProducer(){

        System.out.println("confirm--Producer  :  "+maps.get("id"));

        return "";
    }

    public String cancelAddProducer(){

        String id = maps.get("id");
        System.out.println("cancel-id : "+id);
        int i = producerInfoMapper.deleteByPrimaryKey(id);
        System.out.println("cancel--Producer  : " +i);
        return "";
    }

 

TX-LCN分布式事务-- TCC事务模式(生产者模块)

原文:https://www.cnblogs.com/lifan12589/p/14722943.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!