nodejs 调用 dubbo 接口

May 26, 2021

1. apache-dubbo-js

node 调用 dubbo,使用工具库:apache-dubbo-js 代码地址:https://github.com/apache/dubbo-js npm 安装

npm install apache-dubbo-js

2. 新建一个 service

import { Dubbo } from "dubbo-js"

const demoProvider = dubbo =>
  dubbo.proxyService({
    // 包路径
    dubboInterface: "org.apache.dubbo.demo.DemoProvider",
    // 包版本
    version: "1.0.0",
    // 包接口
    methods: {
      sayHello(name, age) {
        // 参数转java类型
        return [java.String(name), java.Integer(name)]
      },
      getUserInfo() {
        // DTO参数
        return [
          java.combine("org.apache.dubbo.demo.DTO", {
            id: 1,
            name: "nodejs",
            email: "node@test.com",
          }),
        ]
      },
    },
  })

module.exports = {
  demoProvider,
}

3. 创建 dubbo

import { Dubbo } from "dubbo-js"
// 引入service
import service from "./service"
const dubbo = new Dubbo({
  application: { name: "dubbo-js" },
  // zookeeper 地址
  register: "localhost:2181",
  service,
})

4. 调用方法

返回的是 promise

dubbo.service.DemoProvider.sayHello('node', 23);

dubbo.service.DemoProvider.getUserInfo())

Profile picture

Written by Vance who lives and works in Shenzhen, China, and is working hard to improve. You should follow them on csdn