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

2021/4/30 18:55:24

本文主要是介绍TX-LCN分布式事务-- TCC事务模式(生产者模块),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

自己学习用,待补充!

 

对比 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事务模式(生产者模块)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程