最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Spring Cloud Feign遠(yuǎn)程調(diào)用的方法示例

 更新時間:2018年09月03日 14:22:59   作者:pomay  
這篇文章主要介紹了使用Spring Cloud Feign遠(yuǎn)程調(diào)用的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在Spring Cloud Netflix棧中,各個微服務(wù)都是以HTTP接口的形式暴露自身服務(wù)的,因此在調(diào)用遠(yuǎn)程服務(wù)時就必須使用HTTP客戶端。我們可以使用JDK原生的URLConnection、Apache的Http Client、Netty的異步HTTP Client, Spring的RestTemplate。但是,用起來最方便、最優(yōu)雅的還是要屬Feign了。

Feign簡介

Feign是一個聲明式的Web服務(wù)客戶端,使用Feign可使得Web服務(wù)客戶端的寫入更加方便。
它具有可插拔注釋支持,包括Feign注解和JAX-RS注解、Feign還支持可插拔編碼器和解碼器、Spring Cloud增加了對Spring MVC注釋的支持,并HttpMessageConverters在Spring Web中使用了默認(rèn)使用的相同方式。Spring Cloud集成了Ribbon和Eureka,在使用Feign時提供負(fù)載平衡的http客戶端。

Spring Cloud Feign簡介參考:http://m.fzitv.net/article/133773.htm

根據(jù)專家學(xué)者提供的賬號密碼,要在用戶表注冊一個專家學(xué)者賬號(用戶和專家學(xué)者不同的數(shù)據(jù)庫)

在userContorller.java寫一個方法:注冊專家學(xué)者賬號

/**
 * 專家學(xué)者注冊
 * 
 * @param username
 * @param password
 * @return
 */
 @ApiOperation(value = "專家學(xué)者注冊")
 @RequestMapping(value = "/registExpert", method = RequestMethod.POST)
 public long registExpert(@RequestParam("username") String username, @RequestParam("password") String password) {
 User user = new User();
 user.setUsername(username);
 user.setPassword(password);
 userService.insertSelective(user);
 long userId = user.getUserId();
 return userId;
 }

UserClient.java(這里的接口和要遠(yuǎn)程調(diào)用的controller方法聲明一樣(此處是UserController.java),可直接復(fù)制過來,如下所示)

package com.lgsc.cjbd.expert.remote.client;
 
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
 
import com.lgsc.cjbd.vo.Response;
 
@FeignClient(name = "cjbd-user", fallback = UserClientFallback.class)
public interface UserClient {
 
 /**
 * 注冊專家學(xué)者
 */
 @RequestMapping(value = "/user/user/registExpert", method = RequestMethod.POST)
 long registExpert(@RequestParam("username") String username, @RequestParam("password") String password);
}

以及失敗回調(diào)用UserClientFallBack.java

package com.lgsc.cjbd.expert.remote.client;
 
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
 
import com.lgsc.cjbd.vo.Response;
 
/**
 * 失敗回調(diào)
 * 
 * @author yeqj
 */
@Component
public class UserClientFallback implements UserClient {
 private static Logger log = LogManager.getLogger(UserClientFallback.class);
 
 @Override
 public long registExpert(String username, String password, String realName) {
 log.error("遠(yuǎn)程調(diào)用失敗,注冊專家學(xué)者失敗,參數(shù):[username=" + username + ",password=" + password + "]");
 return 0;
 }
}

之后再專家學(xué)者Service層傳遞專家學(xué)者用戶名和密碼過去,在用戶表新增專家學(xué)者注冊記錄

userClient.registExpert(username, password);

即可完成遠(yuǎn)程調(diào)用

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中String、StringBuffer、StringBuilder的區(qū)別介紹

    Java中String、StringBuffer、StringBuilder的區(qū)別介紹

    這篇文章主要介紹了Java中String、StringBuffer、StringBuilder的區(qū)別介紹,本文講解了可變與不可變、是否多線程安全、gBuilder與StringBuffer共同點等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • JDK9對String字符串的新一輪優(yōu)化

    JDK9對String字符串的新一輪優(yōu)化

    這篇文章主要介紹了JDK9對String字符串的新一輪優(yōu)化,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • springmvc中下載中文文件名稱為下劃線的解決方案

    springmvc中下載中文文件名稱為下劃線的解決方案

    這篇文章主要介紹了springmvc中下載中文文件名稱為下劃線的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot整合WebService的實戰(zhàn)案例

    SpringBoot整合WebService的實戰(zhàn)案例

    WebService是一個SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,平臺等,可以實現(xiàn)不同的語言間的相互調(diào)用,這篇文章主要給大家介紹了關(guān)于SpringBoot整合WebService的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Java?for循環(huán)倒序輸出的操作代碼

    Java?for循環(huán)倒序輸出的操作代碼

    在Java中,要實現(xiàn)一個for循環(huán)的倒序輸出,通常我們會使用數(shù)組或集合(如ArrayList)作為數(shù)據(jù)源,然后通過倒序遍歷這個數(shù)組或集合來實現(xiàn),這篇文章主要介紹了Java?for循環(huán)倒序輸出,需要的朋友可以參考下
    2024-07-07
  • Springmvc ViewResolver設(shè)計實現(xiàn)過程解析

    Springmvc ViewResolver設(shè)計實現(xiàn)過程解析

    這篇文章主要介紹了Springmvc ViewResolver設(shè)計實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • java實現(xiàn)簡單聊天軟件

    java實現(xiàn)簡單聊天軟件

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)簡單的聊天軟件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • springboot使用redisRepository和redistemplate操作redis的過程解析

    springboot使用redisRepository和redistemplate操作redis的過程解析

    本文給大家介紹springboot整合redis/分別用redisRepository和redistemplate操作redis,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-05-05
  • SpringBoot?SpringSecurity?JWT實現(xiàn)系統(tǒng)安全策略詳解

    SpringBoot?SpringSecurity?JWT實現(xiàn)系統(tǒng)安全策略詳解

    Spring?Security是Spring的一個核心項目,它是一個功能強(qiáng)大且高度可定制的認(rèn)證和訪問控制框架。它提供了認(rèn)證和授權(quán)功能以及抵御常見的攻擊,它已經(jīng)成為保護(hù)基于spring的應(yīng)用程序的事實標(biāo)準(zhǔn)
    2022-11-11
  • spring?boot前后端交互之?dāng)?shù)據(jù)格式轉(zhuǎn)換問題

    spring?boot前后端交互之?dāng)?shù)據(jù)格式轉(zhuǎn)換問題

    這篇文章主要介紹了spring?boot前后端交互之?dāng)?shù)據(jù)格式轉(zhuǎn)換,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01

最新評論

高安市| 绵竹市| 新巴尔虎右旗| 井冈山市| 灯塔市| 靖安县| 陆良县| 普定县| 宜川县| 满城县| 康定县| 安庆市| 大厂| 汽车| 清徐县| 怀化市| 德惠市| 腾冲县| 衡阳县| 静宁县| 宁南县| 灵川县| 安西县| 翼城县| 寿光市| 郑州市| 宁波市| 泰和县| 杨浦区| 新绛县| 新民市| 靖州| 扬州市| 即墨市| 龙江县| 睢宁县| 土默特左旗| 金川县| 南岸区| 开江县| 阿鲁科尔沁旗|