dubbo入门之Hello World

Linux环境下Dubbo入门测试(Dubbo的Hello World搭建) 在Dubbo架构下搭建Hello World入门项目,话不多说直接介绍入门项目搭建的整个过程。 所需环境 1.Linux版本:Ubuntu 18.04.1 LTS 2.Zookeeper:3.4.11 Zookeeper官网 3.Java版本:JDK1.8+ 环境搭建 Zookeeper环境搭建 Java 环境变量设置 vim /etc/profile //修改系统配置文件 e... 阅读详情

前言:dubbo需要zookeeper相配合使用,使用dubbo之前启动zookeeper,假设zookeeper服务ip为:192.168.3.19:2181,zookeeper前面博文有讲到,可以先学习再来进行dubbo学习。

dubbo官方介绍:

dubbo服务治理:

搭建dubbo项目:

一.创建生产者

1创建maven项目Dubbo_HelloWorld

2.pom文件内容:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>Dubbo_Hello</groupId>
<artifactId>Dubbo_Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name/>
<description/>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<version>5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1.3-b06</version>
<scope>provided</scope>
</dependency>

<!-- <dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>5.0-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency> -->


<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.5</version>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>
<!-- spring 依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.14.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.14.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.14.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.2.14.RELEASE</version>
</dependency>
<!-- aop -->

<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.6</version>
</dependency>

</dependencies>
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>${basedir}/WebRoot</webappDirectory>
<warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

1.2.创建applicationContext配置文件内容为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<!-- 配置Bean -->
<bean id="demoService" class="com.baizhi.service.impl.DemoService_v1"/>
<!-- 引入配置文件 -->
<import resource="classpath:dubbo.xml"/>
</beans>

3.创建dubbo.xml文件,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://code.alibabatech.com/schema/dubbo 
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<!-- 指定web服务名字 -->
<dubbo:application name="Dubbo_HelloWorld"/>
<!-- 声明服务注册中心 -->
<dubbo:registry protocol="zookeeper" address="192.168.3.19:2181"/>
<!-- 指定传输层通信协议 -->
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 暴露你的服务地址 -->
<dubbo:service 
ref="demoService" 
interface="com.baizhi.service.IDemoService"
protocol="dubbo"
/>
</beans>

4.编写class代码

4.1编写生产者

编写一个接口:

实现接口:

启动类:

右键运行方法启动生产者。(springboot的启动方法之一)

二.编写消费者

新建一个maven项目Dubbo_HelloWorld_refer

1.pom.xml和上面一致

2.applicationContext.xml内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<!-- 引入配置文件 -->
<import resource="classpath:dubbo.xml"/>
</beans>

3.dubbo.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://code.alibabatech.com/schema/dubbo 
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<!-- 指定web服务名字 -->
<dubbo:application name="Dubbo_HelloWorld_ref"/>
<!-- 声明服务注册中心 -->
<dubbo:registry protocol="zookeeper" address="192.168.3.19:2181"/>
<!-- 指定传输层通信协议 因为在同一台机器测试,所以端口不一样-->
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 暴露你的服务地址 -->
<dubbo:reference
id="demoService" 
interface="com.baizhi.service.IDemoService"
protocol="dubbo"
/>
</beans>

4.编写class文件

消费者只要定义接口不需要实现

调用生产者

右击运行则可得到相应结果

dubbo系统架构图:

 

auboi5 + d435i 使用easy handeye进行标定时,遇到相关问题记录。 解决办法:在easy_handeye默认的 calibrate.launch 文件中move group 的默认值为 "manipulator",但针对每个人的机械臂,这个值需要更改。以aubo_i5为例,需要将其改为"manipulator_i5",或者自己编写launch文件时,传入参数move group的值,便能顺利解决问题!easy_handeye_calibration_server 进程出现崩溃。 阅读详情

相关推荐

NXP ChessDE的安装和激活

如果客户申请的是试用版,那么一份为期 30 天的 License 将会发送申请人的账号或邮箱中,客户使用该文件进行安装即可。② 将“VENDOR snpslmd /path/to/snpslmd”中的“/path/to/snpslmd”替换成 snpslmd.exe 实际存放路径(位于 SCL 安装目录下的 win32\bin 文件夹中,默认安装的情况下就是“VENDOR snpslmd C:\Synopsys\SCL\<version>\win32\bin\snpslmd.exe”)。

weixin_47351160的博客 2043

【六祎 - Dubbo】本地搭建dubbo-samples成功运行的案例;

本地搭建dubbo-samples成功运行的案例;

六祎的博客 889

【工具】GitHub学生认证+PyCharm配置Copilot全流程指南

本文提供了一份详细的GitHub学生认证及在PyCharm中配置Copilot的完整指南。通过完成A2F认证、准备有效材料并使用干净网络环境,学生可免费获取GitHub Copilot Pro订阅,极大提升编程学习与开发效率。

w7x8y9z的博客 1457

拥抱微服务--Dubbo入门

随着微服务的流行,Dubbo和Spring Cloud框架受到越来越多的关注,本文主要通过1个简单Demo来介绍Dubbo框架的工作流程。 Dubbo是什么? Apache Dubbo (incubating) is a high-performance, java based, open source RPC framework. Dubbo是: 一个分布式服务框架; 致力于提供高性能和透...

打酱油的葫芦娃 5189

基于STM32智能教室灯光照明人数监测系统

本文设计了一套基于STM32和物联网技术的智能教室照明系统,通过光照传感器和双红外对管实现精准人数统计,结合"光照+人数"双条件判断实现按需照明。系统采用"感知-决策-执行-云联"架构,包含环境感知、人数统计、控制执行等模块,支持本地自动控制和手机APP远程管理。测试表明系统能有效避免"长明灯"现象,具有节能降耗、管理智能化的特点。创新点在于双向人数统计算法和双条件控制逻辑,为智慧校园建设提供了实用解决方案。

1159

EtherCAT报文-BRD(广播读)抓包分析

EtherCAT报文之BRD(广播读)报文Wireshark抓包分析。

kevin1499的博客 1212

# Dubbo—hello world

Apache Dubbo (incubating) 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 接下来用一个实例,简单的结束dubbo的使用。 将接口建为一个独立的模块 建一个接口类 : /** * @author xsh * @date 2019/2/27 * @since 1.0.0 */...

爱吃花生酱的猴子 340

《民机适航入门指南:从法规学习到项目实践的全面解析》

适航(Airworthiness)是指航空器、其发动机、螺旋桨和其他部件在规定条件下,能够安全飞行并满足有关航空法规规定的条件。简而言之,适航代表了航空器在任何时候都能安全运营的状态。适航在民用航空领域尤为关键,因为飞机必须经过严格的适航认证才能投入商用。这些认证的目标是确保飞机能够在广泛的运行条件下保持飞行安全,从而保护乘客、机组和地面人员的生命财产安全。适航法规覆盖了飞机的整个生命周期,包括设计、制造、测试、运营、维护和报废。

qq_41854911的博客 992

Dubbo Hello World

为什么80%的码农都做不了架构师?>>> ...

weixin_34290000的博客 137

手把手教你学simulink(36.1)--ACAC变换器场景示例:基于 Simulink 的矩阵变换器(Matrix Converter)

矩阵变换器(Matrix Converter, MC)是一种直接将交流电(AC)转换为不同频率和幅值的交流电的电力电子设备。与传统的基于直流环节的变频器不同,矩阵变换器不需要中间的直流环节,而是通过双向开关直接在输入和输出之间进行能量传递。这种结构使得矩阵变换器具有更高的效率、更小的体积和更好的动态响应。在本项目中,我们将使用 MATLAB/Simulink 来建模和仿真一个矩阵变换器,并分析其性能。Simulink 是一个强大的仿真工具,特别适合用于电力电子系统的建模和仿真。

MHD0815的博客 1065

基于uniapp实现自定义日历页面、年份月份选择、动态日历渲染、日期标记及备忘录、无组件依赖、多端兼容

基于UniApp框架下自定义日历组件的完整实现方案,涵盖基础日历渲染、年月选择器集成、动态数据标记等核心功能。提供完整代码段,帮助开发者快速构建高性能、高定制化的日历模块,适用于日程管理、预订系统等场景。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

dubbo学习--Helloword

按照国际惯例,我们先写个hello world示例。但是在写第一个hello world示例之前,我想有必要先给大家简单介绍些dubbo的框架原理及基本组成。 dubbo是阿里巴巴著名的开源分布式SOA治理框架,它每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 其配置灵活性强,性能表现也相当不错,并且支持很多服务特性(如异步调用、

jasnet_u的博客 482

LLaMA Factory多卡微调的实战教程(持续更新)

本文主要介绍了LLaMA Factory多卡微调的实战教程(持续更新),希望对学习大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 配置环境 2.1 安装虚拟环境 2.2 安装依赖库 2.3 模型选型与下载 2.4 配置多卡环境 3. 运行代码 3.1 构建训练数据 3.2 修改配置文件 3.3 微调 3.3.1 zero3微调 3.3.2 启动API 3.3.3 模型测试

herosunly的博客 25万+

Dubbo入门详解之Hello World

一、准备 1、Dubbo源码地址: https://github.com/alibaba/dubbo 2、用户指南: http://dubbo.io/User+Guide-zh.htm 3、Zookeeper集群环境 关于Zookeeper集群环境的搭建,这里就不做过多的阐述了,有不了解的,请参考我的另一篇博客,地址如下: http://blog.youkuaiyun.com/liuchuanh

牛奋lch 987

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【dubbo从入门到跑路】hello world

【dubbo从入门到跑路】hello worlddubbo简介创建服务提供者项目创建服务消费者项目测试 dubbo简介 dubbo的介绍可以查看官网说明,这里不做过多的介绍。 官网:http://dubbo.apache.org/zh-cn/index.html github:https://github.com/apache/dubbo dubbo spring boot:https://git...

Leo's Blog 397

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

dubbo入门--Hello World

Dubbo入门--Hello World 转载自:http://blog.youkuaiyun.com/hanmov/article/details/66973957?locationNum=2&fps=1 介绍 Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 spring框架无缝集成。简单来说,就是远程服务提供接

当幸福来敲门的专栏 398

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

dubbo入门Hello World(二)

环境: 首先看下目录结构: 此案例由三个maven module和一个maven Project组成,我们可以提供一个“根据姓名模糊查询用户列表”的服务,介绍如下:   dubbo-api:主要提供Service接口,比如UserService.java package com.alibaba.dubbo.demo; import java.util.List; /**  ...

888

Dubbo入门之hello world(zookeeper做注册中心)

说明:注册中心可以用多种,项目中一般都用zookeeper 注册中心方式 demo1用的multicast广播注册中心方式 会了multicast广播注册中心方式,zookeeper就很简单了 demo2用的zookeeper注册中心方式 Zookeeper安装 https://blog.youkuaiyun.com/csdnluolei/article/details/83749859 Zooke...

csdnluolei 280

dubbo学习教程(一):完成入门第一个hello world程序【基于zookeeper】

一、为何使用dubbo服务来实现功能开发? 二、dubbo教程入门

天上的海风博客 2887

Dubbo从入门到精通:一步步构建分布式服务架构

为了应对这些挑战,微服务架构应运而生,而 Dubbo 作为国内最流行的微服务框架之一,在企业级应用中得到了广泛的应用。无论你是刚接触微服务的小白,还是有一定经验的开发者,都能通过本文快速掌握 Dubbo 的精髓。Dubbo 提供多种负载均衡策略,如轮询(Round Robin)、加权轮询(Weighted Round Robin)和最少活跃调用(Least Active)。注册中心用于管理服务提供者和服务消费者的注册与发现。通过本文的学习,你已经掌握了 Dubbo 的核心概念、配置方法以及高级使用技巧。

Leaton的博客 960

Dubbo快速入门实例

附上官方资料地址Dubbo  jar包, 源码, 文档, pom.xml  下载地址 http://repo1.maven.org/maven2/com/alibaba/dubbo/ 在eclipse中maven新建两个项目. 服务提供方和服务消费方, 按照下面的步骤一步一步做, 代码全部贴出, 可以直接用于调试. 下面开始吧. 一. 服务提供者 pom.xml如下: <

拉轰的大蜗牛 1368

最简单的springboot+dubbo的hello world

创建maven项目,子模块有service,ServiceImpl,controller(创建maven项目不会的话百度下); service是api,接口类,ServiceImpl是接口实现类,controller是web控制层 目录结构 dubboparent的pom文件内容: <project xmlns="http://maven.apache.org/POM/4....

sunxuegang111的博客 293

dubbo(一)dubbo+zookeeper 之 Hello World

以前2个项目交互,一直用的httpclient,繁琐的很. 用dubbo来做RPC确实好太多啦. 先把这个demo记录下来. 操作步骤: 1.安装zookeeper,下载dubbo-admin的war包. 2.写代码. 分为 接口,提供者,消费者 3个模块 3.测试+后台管理查看 1.安装zookeeper,下载dubbo-admin的war包. 1) zookeeper下

能写下来,理解才会更深 5264

Dubbo——Hello world

一、提出需求   某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址列表,而订单服务和用户服务分别部署在不同的机器上,此时就需要通过RPC的方式。   我们需要创建两个服务模块:订单服务(服务消费者)和用户服务(服务提供者) 模块 功能 订单服务web模块 创建订单等 用户服务service模块 查询用户地址等   测试预期结果:订单服务web模块在A服务器,用户...

如不來的博客 405

引入dubbo项目接口_Dubbo框架的Hello World

最近写基于 Dubbo 的 Demo,本来挺简单的一个 Demo 但是整了两个小时,而最后解决的方法是因为包名的问题。可能很多所谓的经验不过就是一个踩坑的经验。Dubbo 介绍 Dubbo 的作用引用 GitHub 的介绍是:Apache Dubbo |ˈdʌbəʊ| 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法...

weixin_35381903的博客 218

Dubbo框架的Hello World

最近写基于 Dubbo 的 Demo,本来挺简单的一个 Demo 但是整了两个小时,而最后解决的方法是因为包名的问题。可能很多所谓的经验不过就是一个踩坑的经验。 Dubbo 介绍 Dubbo 的作用引用 GitHub 的介绍是:Apache Dubbo |ˈdʌbəʊ| 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 Dubbo 是阿里巴巴开发的框架,...

码农UP2U 427
上一篇: linux启动两个tomcat
下一篇: 前端时间倒计时方案
JavaMrSun
博客等级 码龄9年 27粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值