nodejs调用dubbo接口

淩亂°似流年 2023-09-28 21:33 81阅读 0赞

1. apache-dubbo-js

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

  1. npm install apache-dubbo-js

2. 新建一个service

  1. import { Dubbo } from 'dubbo-js';
  2. const demoProvider = dubbo =>
  3. dubbo.proxyService({
  4. // 包路径
  5. dubboInterface: 'org.apache.dubbo.demo.DemoProvider',
  6. // 包版本
  7. version: '1.0.0',
  8. // 包接口
  9. methods: {
  10. sayHello(name, age) {
  11. // 参数转java类型
  12. return [java.String(name), java.Integer(name)];
  13. },
  14. getUserInfo() {
  15. // DTO参数
  16. return [
  17. java.combine('org.apache.dubbo.demo.DTO', {
  18. id: 1,
  19. name: 'nodejs',
  20. email: 'node@test.com',
  21. }),
  22. ];
  23. },
  24. },
  25. });
  26. module.exports = {
  27. demoProvider,
  28. };

3. 创建dubbo

  1. import { Dubbo } from 'dubbo-js';
  2. // 引入service
  3. import service from './service';
  4. const dubbo = new Dubbo({
  5. application: { name: 'dubbo-js' },
  6. // zookeeper 地址
  7. register: 'localhost:2181',
  8. service,
  9. });

4. 调用方法

返回的是promise

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

发表评论

表情:
评论列表 (有 0 条评论,81人围观)

还没有评论,来说两句吧...

相关阅读

    相关 dubbo远程调用接口

    最近做了一个项目需要使用dubbo调用远程接口,写出来分享一下 首先需要提供接口的人给你接口地址,注册中心地址,以及参数类型,参数类型可以是实体类,可以让客户直接把实体类发给