国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - springboot 整合 seata的配置過程

springboot 整合 seata的配置過程

2021-12-01 13:29秋葉清風 Java教程

本文給大家介紹springboot 整合 seata的配置過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

前言:

小編引入的圖片和文字描述都是來自于尚硅谷的視頻講解,在此感謝尚硅谷的老師,同時也結合 seata文檔官方文檔進行整合
項目地址(gitee): https://gitee.com/qinenqi/online
springboot整合 seata

整合配置

online-project 這個服務調用 online-coupon這個服務

在 這兩個被整合的服務對用的數據庫中分別 創建 UNDO_LOG 表

-- 注意此處0.3.0+ 增加唯一索引 ux_undo_log
CREATE TABLE `undo_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) NOT NULL,
  `xid` varchar(100) NOT NULL,
  `context` varchar(128) NOT NULL,
  `rollback_info` longblob NOT NULL,
  `log_status` int(11) NOT NULL,
  `log_created` datetime NOT NULL,
  `log_modified` datetime NOT NULL,
  `ext` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

springboot 整合 seata的配置過程

2. 引入依賴

<!-- seata   -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
        </dependency>

小編這兒已經引入了 阿里的相關組件,請根據自己的實際情況進行處理

 <!--        服務注冊/發現-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--        配置中心來做配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

引入依賴后,查看自己的 seata-all-0.7.1,要根據這個版本下載相應的seata 服務器

springboot 整合 seata的配置過程

4.下載對應的服務器軟件包,下載地址:seata下載地址,小編下載是seata-server-0.7.1,下載完成之后解壓文件

5.修改配置文件,進入 conf文件夾,修改registry.conf

springboot 整合 seata的配置過程

在注冊中, 小編配置的是nacos, 把type = “file” 改成 type = “nacos”,

springboot 整合 seata的配置過程

在配置信息中,小編用的是默認的文件方式

6.在online-coupon、online-project 新建 MySeataConfig

import com.zaxxer.hikari.HikariDataSource;
import io.seata.rm.datasource.DataSourceProxy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
import javax.sql.DataSource;

@Configuration
public class MySeataConfig {

    @Autowired
    DataSourceProperties dataSourceProperties;

    @Bean
    public DataSource dataSource(DataSourceProperties dataSourceProperties){
        HikariDataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
        if (StringUtils.hasText(dataSourceProperties.getName())) {
            dataSource.setPoolName(dataSourceProperties.getName());
        }
        return new DataSourceProxy(dataSource);
    }
}

7.分別引入配置文件(file.conf、registry.conf)并修改 vgroup_mapping.my_test_tx_group = “default”
把這兩個配置文件從conf文件夾下復制到項目的resources目錄下,分別修改file.conf,把vgroup_mapping.my_test_tx_group = "default"分別修改成vgroup_mapping.online-coupon-fescar-service-group = "default"和 vgroup_mapping.online-project-fescar-service-group = “default”

springboot 整合 seata的配置過程

8.啟動nacos 和 seata 服務(startup.cmd、seata-server.bat)

springboot 整合 seata的配置過程

服務啟動以后,訪問 http://127.0.0.1:8848/nacos/, 可以看到 seata的服務

9.給分布式大事務的入口標注@GlobalTransactional、每一個遠程的小事務用 @Transactional

springboot 整合 seata的配置過程
springboot 整合 seata的配置過程

10.具體業務:

在 online-project服務的ProjectController中

 /**
     *  根據 id 更新數據
     * @param project
     * @return
     */
    @PostMapping("/updateProjectById")
    public R updateProjectById(@RequestBody Project project){
        projectService.updateProjectById(project);
        return R.ok();
    }

在 CouponServiceImpl中

/**
     *  從 商品哪兒調用  用來測試 seata
     */
    @Transactional
    public void  testSeata(){
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setId(4L);
        couponEntity.setCouponName("從 商品哪兒調用  用來測試 seata02");
        couponMapper.updateById(couponEntity);
//        int number = 2/0;
    }

在online-coupon服務CouponController中

 /**
     *  從 商品哪兒調用  用來測試 seata
     * @return
     */
    @RequestMapping("/testSeata")
    public R testSeata(){
        couponService.testSeata();
        return R.ok();
    }

新建 CouponFeignService

import com.example.onlinecommon.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;

@FeignClient("online-coupon")
public interface CouponFeignService {

    @RequestMapping("/coupon/couponController/testSeata")
    R testSeata();

}

在 CouponServiceImpl中

/**
     *  從 商品哪兒調用  用來測試 seata
     */
    @Transactional
    public void  testSeata(){
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setId(4L);
        couponEntity.setCouponName("從 商品哪兒調用  用來測試 seata02");
        couponMapper.updateById(couponEntity);
//        int number = 2/0;
    }

兩個服務之間的調用使用的 openforeign,經過小編的測試,兩個微服務實現了分布式事務的一致性

到此這篇關于springboot 整合 seata的文章就介紹到這了,更多相關springboot 整合 seata內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_41695138/article/details/119831809

延伸 · 閱讀

精彩推薦
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产羞羞视频 | 高清一区二区三区 | 午夜寂寞影视在线观看 | 国产经典一区 | 午夜在线观看视频 | 免费观看一级特黄欧美大片 | 欧美午夜一区 | 精品日韩一区二区 | 欧美日韩久久久 | 国产精品色一区二区三区 | 自拍 亚洲 欧美 老师 丝袜 | 国产精品69毛片高清亚洲 | 精品亚洲永久免费精品 | 欧美另类视频在线 | 亚洲男人的天堂视频 | 精品无码久久久久久久动漫 | 欧美日韩一区二区三区不卡视频 | 国产一区二区精品 | 99热这里有精品 | 精品成人免费 | www.久久精品 | 欧美综合久久 | 国产视频中文字幕 | 激情五月激情 | 亚洲日本va在线观看 | 精品一区二区三区在线观看 | 好看的一级毛片 | 久久亚洲视频 | 色中色av | yy6080久久伦理一区二区 | 国产精品69毛片高清亚洲 | 国产黄色免费看 | 91在线电影 | 美女天堂| 特一级黄色片 | 99在线热视频 | 精品无码久久久久久国产 | 免费观看黄色大片 | 性色av一区二区三区红粉影视 | 中文字幕免费在线观看视频 | 亚洲国产成人av |