<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <link rel="shortcut icon" href="../img/favicon.ico" />
    <title>用透明RPC开发微服务 - ServiceComb Java Chassis 开发指南</title>
    <link rel="stylesheet" href="../css/theme.css" />
    <link rel="stylesheet" href="../css/theme_extra.css" />
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css" />
    
      <script>
        // Current page data
        var mkdocs_page_name = "\u7528\u900f\u660eRPC\u5f00\u53d1\u5fae\u670d\u52a1";
        var mkdocs_page_input_path = "build-provider/transparent-rpc.md";
        var mkdocs_page_url = null;
      </script>
    
    <script src="../js/jquery-3.6.0.min.js" defer></script>
    <!--[if lt IE 9]>
      <script src="../js/html5shiv.min.js"></script>
    <![endif]-->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
      <script>hljs.initHighlightingOnLoad();</script> 
</head>

<body class="wy-body-for-nav" role="document">

  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
    <div class="wy-side-scroll">
      <div class="wy-side-nav-search">
          <a href="../index.html" class="icon icon-home"> ServiceComb Java Chassis 开发指南
        </a>
      </div>

      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="../toc.html">目录</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="../index.html">概述</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="../start/catalog.html">快速入门</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="../start/design.html">设计选型参考</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="definition/service-definition.html">微服务定义</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="catalog.html">开发服务提供者</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="../build-consumer/catalog.html">开发服务消费者</a>
                </li>
              </ul>
              <ul>
                <li class="toctree-l1"><a class="reference internal" href="../general-development/catalog.html">通用功能开发</a>
                </li>
              </ul>
              <p class="caption"><span class="caption-text">多样化的通信协议功能参考</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../transports/introduction.html">多协议介绍</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../transports/rest-over-servlet.html">REST over Servlet</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../transports/rest-over-vertx.html">REST over Vertx</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../transports/http2.html">REST over HTTP2</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../transports/highway-rpc.html">Highway</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">多样化的服务注册与发现功能参考</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../registry/introduction.html">注册发现说明</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../registry/service-center.html">使用服务中心</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../registry/local-registry.html">本地注册发现</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../registry/distributed.html">去中心化注册发现</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">管理服务配置</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../config/general-config.html">通用配置说明</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../config/read-config.html">在程序中读取配置信息</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">服务治理功能参考</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/intruduction.html">处理链介绍</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/loadbalance.html">负载均衡</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/ratelimit.html">限流</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/router.html">灰度发布</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/fault-injection.html">故障注入</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/bizkeeper.html">隔离熔断容错</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/governance.html">流量特征治理</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/fail-retry.html">快速失败和重试</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">网关功能参考</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../edge/open-service.html">介绍</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../edge/by-servicecomb-sdk.html">使用 Edge Service 做网关</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../edge/zuul.html">使用 `zuul` 和 `spring cloud gateway` 做网关</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../edge/nginx.html">nginx 网关简单介绍</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">安全特性参考</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../references-handlers/publickey.html">公钥认证</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../security/tls.html">使用TLS通信</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../security/shi-yong-rsa-ren-zheng.html">使用RSA认证</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">服务打包和运行</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../packaging/standalone.html">以standalone模式打包</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../packaging/web-container.html">以WEB容器模式打包</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">专题文章</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../using-java-chassis-in-spring-boot/using-java-chassis-in-spring-boot.html">在Spring Boot中使用java chassis</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../featured-topics/features.html">新功能介绍系列文章</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../featured-topics/compatibility.html">兼容问题和兼容性策略</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../featured-topics/upgrading.html">升级指导系列文章</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../featured-topics/performance.html">性能问题分析和调优</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">常用配置项参考</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../config-reference/rest-transport-client.html">REST Transport Client 配置项</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../config-reference/config-center-client.html">Config Center Client 配置项</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../config-reference/service-center-client.html">Service Center Client 配置项</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../config-reference/kie-client.html">ServiceComb Kie Client 配置项</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">常见问题</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="../question-and-answer/faq.html">FAQ</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../question-and-answer/question_answer.html">Q & A</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="../question-and-answer/interface-compatibility.html">微服务接口兼容常见问题</a>
                  </li>
              </ul>
      </div>
    </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">ServiceComb Java Chassis 开发指南</a>
        
      </nav>
      <div class="wy-nav-content">
        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="../index.html" class="icon icon-home" alt="Docs"></a> &raquo;</li>
      <li>用透明RPC开发微服务</li>
    <li class="wy-breadcrumbs-aside">
    </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div class="section" itemprop="articleBody">
              
                <h1 id="rpc">用透明RPC开发微服务</h1>
<h2 id="_1">概念阐述</h2>
<p>透明RPC开发模式是一种基于接口和接口实现的开发模式，服务的开发者不需要使用Spring MVC和JAX-RS注解。</p>
<p><a href="https://github.com/apache/servicecomb-samples/tree/master/java-chassis-samples/pojo-sample">透明RPC例子</a> 提供了一些基础的代码示例，可以下载使用。</p>
<h2 id="_2">开发示例</h2>
<p>透明RPC开发模式支持Spring xml配置和注解配置两种服务发布方式，通过Spring xml配置的方式如下：</p>
<h3 id="1">步骤 1定义服务接口。</h3>
<p>根据开发之前定义好的契约，编写Java业务接口，代码如下：</p>
<pre><code class="language-java">public interface Hello {
    String sayHi(String name);
    String sayHello(Person person);
}

public interface Compute {
  int add(int a, int b);
  int multi(int a, int b);
  int sub(int a, int b);
  int divide(int a, int b);
}

</code></pre>
<h3 id="2">步骤 2实现服务</h3>
<p>Hello的服务实现如下：</p>
<blockquote>
<p><strong>说明</strong>：<br />
每一个服务接口都需要定义一个schema声明。</p>
</blockquote>
<ul>
<li>在接口Hello 和 Compute 的实现类上使用@RpcSchema注解定义schema，代码如下：</li>
</ul>
<pre><code class="language-java">@RpcSchema(schemaId = &quot;hello&quot;)
public class HelloImpl implements Hello {
    @Override
    public String sayHi(String name) {
        return &quot;Hello &quot; + name;
    }

    @Override
    public String sayHello(Person person) {
        return &quot;Hello person &quot; + person.getName();
    }
}

@RpcSchema(schemaId = &quot;codeFirstCompute&quot;)
public class CodeFirstComputeImpl implements Compute {
  @Override
  public int add(int a, int b) {
    return a + b;
  }

  @Override
  public int multi(int a, int b) {
    return a * b;
  }

  @Override
  public int sub(int a, int b) {
    return a - b;
  }

  @Override
  public int divide(int a, int b) {
    if (b != 0) {
      return a / b;
    }
    return 0;
  }
}
</code></pre>
<h3 id="3">步骤 3发布服务</h3>
<ul>
<li>通过配置文件方式</li>
</ul>
<p>在resources/META-INF/spring目录下的pojoHello.bean.xml文件中，配置Spring进行服务扫描的base-package，文件内容如下：</p>
<pre><code class="language-xml">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;beans xmlns=&quot; http://www.springframework.org/schema/beans &quot; xmlns:xsi=&quot; http://www.w3.org/2001/XMLSchema-instance &quot;
       xmlns:p=&quot; http://www.springframework.org/schema/p &quot; xmlns:util=&quot; http://www.springframework.org/schema/util &quot;
       xmlns:cse=&quot; http://www.huawei.com/schema/paas/cse/rpc &quot;
       xmlns:context=&quot; http://www.springframework.org/schema/context &quot;
       xsi:schemaLocation=&quot; http://www.springframework.org/schema/beans classpath:org/springframework/beans/factory/xml/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.huawei.com/schema/paas/cse/rpc classpath:META-INF/spring/spring-paas-cse-rpc.xsd&quot;&gt;

    &lt;context:component-scan base-package=&quot;org.apache.servicecomb.samples.pojo.provider&quot;/&gt;
&lt;/beans&gt;
</code></pre>
<h3 id="4">步骤 4 启动服务</h3>
<pre><code class="language-java">public class PojoProviderMain {

  public static void main(String[] args) throws Exception {
    Log4jUtils.init();
    BeanUtils.init();
  }
}
</code></pre>
<blockquote>
<p><strong>说明</strong>：<br />
与Spring MVC开发模式和JAX-RS开发模式不同的是，透明RPC开发模式使用的注解是<code>@RpcSchema</code>而非<code>@RestSchema</code>。</p>
</blockquote>
              
            </div>
          </div><footer>

  <hr/>

  <div role="contentinfo">
    <!-- Copyright etc -->
  </div>

  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
          
        </div>
      </div>

    </section>

  </div>

  <div class="rst-versions" role="note" aria-label="Versions">
  <span class="rst-current-version" data-toggle="rst-current-version">
    
    
    
  </span>
</div>
    <script>var base_url = '..';</script>
    <script src="../js/theme_extra.js" defer></script>
    <script src="../js/theme.js" defer></script>
      <script src="../search/main.js" defer></script>
    <script defer>
        window.onload = function () {
            SphinxRtdTheme.Navigation.enable(true);
        };
    </script>

</body>
</html>
