nodejs连接dubbo服务的java工程实现示例
时间:2022-11-27 10:23:18|栏目:JAVA代码|点击: 次
前言
最近公司整体服务架构从MQ迁移到dubbo上,公司有部分项目使用了nodejs服务,故研究了下nodejs的dubbo客户端,以下使用node-zookeeper-dubbo客户端为网友提供,因node-zookeeper-dubbo本身项目使用的实例描述并不完备,对于非node专业来说,跑一个实例还是有点困难,在博主实践过程中,也遇到很多问题,固有此文,希望可以给同样需求的你一点帮助
开源地为:https://github.com/p412726700/node-zookeeper-dubbo
1.启动dubbo提供服务
本实例使用dubbo项目本身的DEMO工程提供服务
2.新建node测试文件nodeTest.js
代码如下
const nzd=require('node-zookeeper-dubbo'); const app=require('express')(); const opt={ application:{name:'klnode'}, register:'127.0.0.1:2181',//注册中心地址 dubboVer:'2.5.3',//dubbo版本信息 root:'dubbo',//dubbo协议 dependencies:{ Demo:{ interface:'com.alibaba.dubbo.demo.DemoService', timeout:6000, methodSignature: { sayHello : (name) => (java) => [ java.String(name) ], } }, } } opt.java = require('js-to-java') const Dubbo=new nzd(opt); app.get('/DemoService/sayHello',(req,res)=>{ Dubbo.Demo.sayHello(10000) .then(data=>res.send(data)) .catch(err=>res.send(err)) }) app.listen(9090)
3.下载所需依赖
进入nodeTest.js文件夹下
npm install node-zookeeper-dubbo
npm install express
npm install js-to-java
4.启动服务
node nodeTest.js启动服务后,控制台会打印Dubbo service init done:,代表启动node服务成功了
然后访问http://localhost:9090/DemoService/sayHello,看到如下结果,代表node连接dubbo服务成功