nodejs连接dubbo服务的java工程实现示例

目录
  • 前言
  • 1.启动dubbo提供服务
  • 2.新建node测试文件nodeTest.js
  • 3.下载所需依赖
  • 4.启动服务

前言

最近公司整体服务架构从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服务成功

以上就是nodejs连接dubbo服务的java工程实现示例的详细内容,更多关于java工程nodejs连接dubbo服务的资料请关注我们其它相关文章!

(0)

相关推荐

  • Node调用Java的示例代码

    Java 端作为服务提供者,基于Dubbo实现服务并通过 Dubbo Hessian 扩展暴露服务:Node 端作为服务消费者,通过node-hessian 调用 Java 端的服务. Java 端 服务接口 package com.yuanxin.paas.ssb; public interface TestService { /** * 测试:无参,无返回值. */ void test(); /** * 测试:原生类型参数与返回值. * * @param i * @return */ Str

  • nodeJs实现基于连接池连接mysql的方法示例

    本文实例讲述了nodeJs实现基于连接池连接mysql的方法.分享给大家供大家参考,具体如下: mysql.js //连接数据库 var mysql = require('mysql'); var pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'gfdfsdf34r34r', database:'caiji' }); module.exports = function(sql, callback) { p

  • 详解Node.js模块间共享数据库连接的方法

    这个标题本身就是一个命题,因为使用默认方式的情况下,一个 Node.js 应用里的各个模块都是共享的同一个数据库连接.但是如果姿势不对,可能会很丑陋,甚至可能会出错. 你可以忽略下面这部分,直接切入正题. 背景 最近在做专业课程设计,题目是"机票预订管理系统".需求比较简单,就试着拿最近在学的 Node.js 来做了.本来还在调研用何种 Node.js 框架比较合适,看了几个框架之后发现这是杀鸡用牛刀,有看文档查资料的时间还不如直接动手写了.最后写完我会把代码放到 Github 上,欢

  • node.js连接mongoDB数据库 快速搭建自己的web服务

    一.写在前面 人人都想成为全栈码农,作为一个web前端开发人员,通往全栈的简洁之路,貌似就是node.js了.前段时间学习了node.js,来谈谈新手如何快速的搭建自己的web服务,开启全栈之路. 二.安装node.js 接触过后端开发的人都知道,首先要安装服务.作为新手,肯定是选择最简单的可视化安装了(傻瓜式下一步,其它的方式等熟悉相关操作后自然就会了的),通过官网http://nodejs.org/dist/v0.6.1/node-v0.6.1.msi 下载电脑适配的安装包(这个是windo

  • nodejs连接dubbo服务的java工程实现示例

    目录 前言 1.启动dubbo提供服务 2.新建node测试文件nodeTest.js 3.下载所需依赖 4.启动服务 前言 最近公司整体服务架构从MQ迁移到dubbo上,公司有部分项目使用了nodejs服务,故研究了下nodejs的dubbo客户端,以下使用node-zookeeper-dubbo客户端为网友提供,因node-zookeeper-dubbo本身项目使用的实例描述并不完备,对于非node专业来说,跑一个实例还是有点困难,在博主实践过程中,也遇到很多问题,固有此文,希望可以给同样需

  • java开发分布式服务框架Dubbo服务引用过程详解

    目录 大致流程 服务引用策略 服务引用的三种方式 服务引入流程解析 总结 大致流程 Provider将服务暴露出来并且注册到注册中心,而Consumer通过注册中心获取Provider的信息,之后将自己封装成一个调用类去与Provider进行交互. 首先需要将所有调用转化为Dubbo中我们熟悉的Invoker,再通过代理类去远程获取服务. 大致流程如下: 服务引用策略 服务的引用和服务的暴露原理相似,都是Spring自定义标签机制解析生成对应的Bean,在之前服务暴露使用到的Provider S

  • dubbo服务使用redis注册中心的系列异常解决

    目录 前言 1.不支持带密码,设置indexdb的reids 解决方法: 二,集群容错模式异常 三,jedis连接池连接的坑 四,服务超过8个应用启动卡死 文末结语 前言 dubbo支持zookeeper,reids,multicast等注册中心注册服务信息,使用redis作为注册中心时,因为reids作为注册中心使用并不广泛,早期reids由于定位内网访问,使用密码验证也不怎么重视,导致框架本身设计缺陷,会有很多坑,如1.没有考虑到带密码验证的redis,2.集群容错模式判断错误 3.不可以设

  • 从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate

    本文会介绍从一个最基本的java工程,到Web工程,到集成Spring.SpringMVC.SpringDataJPA+Hibernate. 平时我们可能是通过一个模板搭建一个工程,或者是直接导入一个项目,而本文选择从最基本的java工程开始,目的是为了展示更多原理. 当然,我们还是从一个最基本的Maven工程开始,其实普通的非Maven工程,搭建过程几乎是一模一样的,只是Jar包需要我们手动的添加到工程中,而Maven工程就只是修改配置文件即可. 下面就正式开始. 1.基于Maven(如果不使

  • nodejs socket实现的服务端和客户端功能示例

    本文实例讲述了nodejs socket实现的服务端和客户端功能.分享给大家供大家参考,具体如下: 使用node.js的net模块能很快的开发出基于TCP的服务端和客户端.直接贴代码. server.js /** * Created with JetBrains WebStorm. * User: Administrator * Date: 12-10-26 * Time: 下午3:44 * To change this template use File | Settings | File T

  • 使用Nodejs连接mongodb数据库的实现代码

    一个简单的nodejs连接mongodb示例,来自 mongodb官方示例 1. 创建package.json 首先,创建我们的工程目录connect-mongodb,并作为我们的当前目录 mkdir connect-mongodb cd connect-mongodb 输入npm init命令创建package.json npm init 然后,安装mongodb的nodejs版本driver npm install mongodb --save mongodb驱动包将会安装到当前目录下的no

  • 详解slf4j+logback在java工程中的配置

    本文主要介绍一下slf4j+logback在java工程中的配置,面向的读者主要是已经对slf4j+logback有一定了解的同学,但是在文章开头也做了一些知识铺垫,下面咱们进入正题. 在介绍slf4j+logback配置之前,首先对日志组件logback进行介绍. (一)日志组件logback的介绍及配置使用方法 一.logback的介绍     Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classi

  • nodejs连接mysql数据库及基本知识点详解

    本文实例讲述了nodejs连接mysql数据库及基本知识点.分享给大家供大家参考,具体如下: 一.几个常用的全局变量 1.__filename获取当前文件的路径 2.__dirname获取当前文件的目录 3.process.cwd()获取当前工程的目录 二.文件的引入与导出 1.使用require引入文件 2.使用module.exports导出文件中指定的变量.方法.对象 三.node项目的搭建目录结构 demo package.json 当前项目所依赖的包或者模块     router  存

  • NodeJs搭建本地服务器之使用手机访问的实例讲解

    作为一名不懂后台的前端工程师来说,利用node.js搭建服务器,是一个非常好的选择.下面搭建一个简单的服务器: var app=require("express")(); //接收来自用户的任何请求 app.use(function(req,res){ res.write("The response from server"); res.end(); }); 这个ip地址,楼主之前一直以为是在这里指定IP地址,意味着别人输入这个IP地址就能访问到你的服务器了,其实并

  • 基于SpringBoot集成测试远程连接Redis服务的教程详解

    前期准备 Linux虚拟机或者租用的云服务器:sudo安装redis,或者docker加载redis镜像.后者需要使用docker启用redis容器. 配置好redis.conf文件.注意:一定要注释 # bind 127.0.0.1 其他详细配置可参考我另一篇文章,不过能想到集成测试redis,配置文件应该已经配置好了. /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT 开放6379端口 初始化SpringBoot项目使用Spring

随机推荐