jsonrpc一个简单的 Java RPC 组件

联合创作 · 2023-09-23

jsonrpc 是一个简单的 java rpc 组件, 部分代码参考:https://github.com/RitwikSaikia/jsonrpc 这部分代码版权归 RitwikSaikia 所有。服务端缓存、客服端缓存、注解支持,spring 支持等版权归 ada.young 所有。

maven使用

       <dependency>
           <groupId>com.quhaodian.jsonrpc</groupId>
           <artifactId>core</artifactId>
           <version>1.01</version>
       </dependency>

使用方法

  1. 定义接口

         @RestFul(api=Calculator.class,value="calculator")
         public interface Calculator {
             double add(double x, double y);
             double multiply(double x, double y);
         }
  2. 实现接口

     public class SimpleCalculatorImpl implements Calculator {
     
         public double add(double x, double y) {
           return x + y;
         }
         
         public double multiply(double x, double y) {
           return x * y;
         }
     
     }
  3. 通过与 spring 集成,配置 servlet 。

     <context-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:context.xml</param-value>
     </context-param>
     
     <listener>
         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     
     <servlet>
         <servlet-name>dispatcher</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <init-param>
             <param-name>contextConfigLocation</param-name>
             <param-value></param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet> 
       
     <servlet>
         <servlet-name>rpc</servlet-name>
         <servlet-class>com.quhaodian.servlet.RpcServlet</servlet-class>
         <load-on-startup>2</load-on-startup>
     </servlet>
     
     <servlet-mapping>
          <servlet-name>rpc</servlet-name>
          <url-pattern>/rpc</url-pattern>
     </servlet-mapping>
  4. 客服端访问

        String url="远程服务端servlet地址"
    
        Calculator  s = RestFulClient.getService(url, Calculator .class);
    
        double result = calc.add(1.2, 7.5);
浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报