| const {Dubbo, setting} = require('dubbo2.js'); |
| const service = require('./service'); |
| |
| const dubboSetting = setting |
| .match( |
| [ |
| 'com.alibaba.dubbo.demo.DemoProvider', |
| 'com.alibaba.dubbo.demo.ErrorProvider', |
| ], |
| { |
| version: '1.0.0', |
| }, |
| ) |
| .match('com.alibaba.dubbo.demo.BasicTypeProvider', {version: '2.0.0'}); |
| |
| const dubbo = (module.exports = new Dubbo({ |
| application: {name: 'dubbo-node-consumer'}, |
| register: 'localhost:2181', |
| service, |
| dubboSetting, |
| })); |
| |
| dubbo.use(async (ctx, next) => { |
| await next(); |
| console.log('-providerAttachments-->', ctx.providerAttachments); |
| }); |
| |
| // dubbo.ready().then(() => { |
| // console.log('dubbo was ready'); |
| // }); |
| |
| // dubbo.subscribe({ |
| // onTrace: msg => { |
| // console.log(msg); |
| // }, |
| // }); |
| |
| //cost middleware |
| /*dubbo.use(async function costTime(ctx, next) { |
| console.log('before dubbo cost middleware'); |
| const startTime = Date.now(); |
| await next(); |
| const endTime = Date.now(); |
| console.log('end makecostTime->', endTime - startTime); |
| }); |
| */ |
| |
| // dubbo.use(async function trace(ctx, next) { |
| // const uuid = Date.now(); |
| // ctx.attachments = { |
| // uuid, |
| // }; |
| |
| // ctx.attachments = { |
| // userId: uuid, |
| // }; |
| |
| // await next(); |
| // }); |