日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

DUBBO 客戶端接入

更新時間:

網關提供客戶端 DUBBO Demo 代碼供用戶參考,下載客戶端 Demo后,DUBBO Demo 代碼位置為:com/alipay/gateway/web/test/usercase/mainchain/dubbo/DubboClientServiceTest.java。

操作步驟

  1. 編寫后端 Server。

    例如:

    @Controller
    @RequestMapping("/springmvc/test")
    public class PostMvcServerController {
    
        /**
         * 測試場景: 沒有參數的測試
         *
         * @return
         */
        @RequestMapping(value = "/param/noParam", method = RequestMethod.POST)
        @ResponseBody
        public Map<String, String> hello() {
            Map<String, String> map = new HashMap<>();
            map.put("post", "hello");
            System.out.println(JSONObject.toJSONString(map));
            return map;
        }
    }
  2. 登錄網關控制臺。

  3. 創建系統集群,并使其指向本地后端 Server。

    重要

    如果此處系統集群的認證方式選擇了 密鑰,由于網關目前僅提供 JavaSDK,其他語言類型需用戶自行實現。

  4. 創建分組和 API,指定前端的調用方式和后端的轉發方式。

    如下圖所示:

    22

    重要

    DUBBO 類型的 API 暫不支持簽名認證和數據加密等需要客戶端配置的需求。

  5. 編寫調用方代碼。

    • 編寫調用代碼

      package com.alipay.gateway.facade.dubbo;
      
      public interface GatewayDubbo2HttpService {
      
          Map<String, String> stringParam(String param);
      }
      
      
    • 編寫 DUBBO Reference

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
             xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://dubbo.apache.org/schema/dubbo        http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
      
          <!-- 消費方應用名,用于計算依賴關系,不是匹配條件,不要與提供方一樣 -->
          <dubbo:application name="consumer-of-helloworld-app"  />
           <!-- 協議必須是fastjson序列化 -->
          <dubbo:protocol name="dubbo" serialization="fastjson" />
      
          <!-- 生成遠程服務代理,可以和本地bean一樣使用demoService url=網關ip:20888 -->
          <dubbo:reference id="gatewayDubbo2HttpService" interface="com.alipay.gateway.facade.dubbo.GatewayDubbo2HttpService" timeout="100000" protocol="dubbo" url="網關ip:20888?serialization=fastjson" version="1.0.0" >
          </dubbo:reference>
      </beans>
      
    • DUBBO 調用

      從 API 詳情獲取分組 ID 并寫入 x-mosng-host

      public class DubboClientServiceTest extends AbstractTestBase {
      
      
       @Test
          public void dubbo2HttpStringParam() {
              ApplicationContext context = new ClassPathXmlApplicationContext(
                      "classpath:META-INF/gateway-test-client/dubbo-consumer.xml");
              RpcContext.getContext().setAttachment("x-mosng-host", "lv51bpe4v3kiy6nn");
      
              GatewayDubbo2HttpService gatewayDubbo2HttpService = (GatewayDubbo2HttpService)context.getBean("gatewayDubbo2HttpService"); // 獲取遠程服務代理
      				//注意:入參需要和在網關頁面上配置的類型一致,且響應參數需要和dubbo對齊否則會報錯
              Map<String, String> dubbo2HttpStringParam = gatewayDubbo2HttpService.stringParam("aaa");
              System.out.println(JSON.toJSONString(dubbo2HttpStringParam)); // 顯示調用結果
          }
      }
  6. 發起請求。

調用結果如下:

image