mirror of
https://github.com/sofastack/sofa-rpc-node.git
synced 2025-12-08 20:26:00 +00:00
37 lines
865 B
JavaScript
37 lines
865 B
JavaScript
'use strict';
|
|
|
|
const path = require('path');
|
|
const antpb = require('antpb');
|
|
const protocol = require('sofa-bolt-node');
|
|
const { RpcClient } = require('../').client;
|
|
const { ZookeeperRegistry } = require('../').registry;
|
|
const logger = console;
|
|
|
|
const proto = antpb.loadAll(path.join(__dirname, '../test/fixtures/proto'));
|
|
protocol.setOptions({ proto });
|
|
|
|
const registry = new ZookeeperRegistry({
|
|
logger,
|
|
address: '127.0.0.1:2181',
|
|
});
|
|
|
|
async function invoke() {
|
|
const client = new RpcClient({
|
|
logger,
|
|
protocol,
|
|
registry,
|
|
});
|
|
const consumer = client.createConsumer({
|
|
interfaceName: 'com.alipay.sofa.rpc.test.ProtoService',
|
|
});
|
|
await consumer.ready();
|
|
|
|
const result = await consumer.invoke('echoObj', [{
|
|
name: 'gxcsoccer',
|
|
group: 'B',
|
|
}], { responseTimeout: 3000 });
|
|
console.log(result);
|
|
}
|
|
|
|
invoke().catch(console.error);
|