使用Hprose调用Golang的接口

1
2
3
4
5
    Java跨语言调用Golang的接口,一般来说 不同的工程之间通信都是需要一些小小的帮助的
    这里我们隆重邀请到Hprose来帮我们讲解一下是如何实现的
    哈? Hprose是谁
    Hprose是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库啦 这都不知道
    你是真的菜 哈哈哈 废话不多说 我们进入正题 直接上代码

初始化定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import hprose.client.HproseClient;
public class Hprose {
    private static HproseClient wxClient = null;
    public static WxApi wxApi = null;

    static {
        String os = System.getProperty("os.name");
        try {
            // 根据环境调用不同的服务
            if(os != null && os.toLowerCase().contains("windows")) {
                wxClient = HproseClient.create("http://127.0.0.1:8080/wx/rpc_service");
            } else {
                wxClient = HproseClient.create("http://xxxxxxxxxxxxxx/wx/rpc_service");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }    
       
        if(wxClient != null) {
            wxApi = wxClient.useService(WxApi.class);
        }
    }

接口

1
2
3
4
5
// WxApi
public interface WxApi {
    // 接口
    List<String> getXXX(int) throws Exception;
}

接口调用

1
List<String> data = Hprose.wxApi.getXXX(123);

使用方法很简单 官网上也有例子 Hprose官网