配置 dubbo 的Hello World

 

按以下步骤进行:

1.新建一个maven工程du(com.lzm du)。

2.编辑dom.xml加入依赖

 

项目依赖的三方库与Dubbo所依赖的版本冲突怎么办

比如,项目使用的spring与dubbo冲突,
dubbo使用的是spring2.5,
而项目中其它模块依赖的是spring3.2.10.RELEASE。

在Maven中,使用项目根pom.xml中的dependencyManagement版本仲裁解决:

 

<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>com.lzm</groupId>
	<artifactId>du</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<dependencies>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.5.0-alpha</version>
			<type>pom</type>
		</dependency>

		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>3.2.10.RELEASE</version>
		</dependency>

	</dependencies>


	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.alibaba.external</groupId>
				<artifactId>sourceforge.spring</artifactId>
				<version>3.2.10.RELEASE</version>
			</dependency>
		</dependencies>

	</dependencyManagement>
</project>

 

 

 

其中zkclient是zookeeper的客户端。

 

3.新建IHello接口

 

package com.lzm.du;

public interface IHello {

    
    public String sayHello(String name);
    
}

 

工程结构图:

 

 

 

 

 

4.实现IHello接口

 

package com.lzm.du;

public class Hello implements IHello {

    public String sayHello(String name) {
        // TODO Auto-generated method stub
        return "Hello " + name;
    }

}

 

 

5.在src/main/resources/里新增provider.xml文件,配置provider。

 

<?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">
 
    <!-- Application name -->
    <dubbo:application name="hello-world-app"  />
 
    <!-- registry address, used for service to register itself -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181" />
 
    <!-- expose this service through dubbo protocol, through port 20880 -->
    <dubbo:protocol name="dubbo" port="20880" />
 
    <!-- which service interface do we expose? -->
    <dubbo:service interface="com.lzm.du.IHello" ref="helloService" />
 
    <!-- designate implementation -->
    <bean id="helloService" class="com.lzm.du.Hello" />
 
</beans>

 

 

 

6.新建Provider

 

package com.lzm.du;


import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class Provider {
 
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"provider.xml"});
        context.start();
 
        System.out.println("Press any key to exit.");
        System.in.read();
    }
 
}

 

 

7.在src/main/resources/里新增consumer.xml文件,配置consumer。

 

<?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">
 
    <!-- consumer application name -->
    <dubbo:application name="consumer-of-helloworld-app"  />
 
    <!-- registry address, used for consumer to discover services -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181" />
 
    <!-- which service to consume? -->
    <dubbo:reference id="helloService" interface="com.lzm.du.IHello" />
 
</beans>

 

 

8.新建Consumer

 

package com.lzm.du;


import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class Consumer {
 
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"consumer.xml"});
        context.start();
 
        IHello helloService = (IHello)context.getBean("helloService"); // get service invocation proxy
        String result = helloService.sayHello("world"); // do invoke!
 
        System.out.println(result); // cool, how are you~
    }
 
}

 

 

9.在src/main/resources/里新增dubbo.properties

 

dubbo.application.name=foo
dubbo.application.owner=bar
dubbo.registry.address=zookeeper://127.0.0.1:2181

 

该文件是全局配置文件,因为现在provider.xml, consumer.xml没引用它定义的属性,所以暂时没用上。

 

10.下载zookeeper

http://apache.fayea.com/apache-mirror/zookeeper/zookeeper-3.5.0-alpha/zookeeper-3.5.0-alpha.tar.gz

 

11.启动zookeeper服务器。

解压zookeeper-3.5.0-alpha.tar.gz,将zookeeper-3.5.0-alpha\conf\zoo_sample.cfg改名为zoo.cfg。双击

zookeeper-3.5.0-alpha\bin\zkServer.cmd。

 

12.运行Provider

 

13.运行Consumer

 

以上就可以跑了。

 =========================================================

 

接下来配置monitor

 

14.下载monitor

http://download.youkuaiyun.com/download/nrs12345/7412165

解压后,将dubbo文件夹复制到tomcat的webapps下面,修改sever.xml,在<Host 节点增加:

<Context path="" debug="0" docBase="dubbo" reloadable="true"/> 

这样就可以通过 http://localhost:8180/  访问,而不是http://locahost:8180/dubbo。

使用前面的url访问正常,使用后面的url访问时,会出现很多找不到页面的错误。

当然,把dubbo文件夹里面的文件复制到ROOT下面也可以。

 

15.修改WEB-INF/dubbo.properties,

dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.admin.root.password=root

dubbo.admin.guest.password=guest

 

第1个是zookeeper的地址,后面两个是访问monitor时要求登录的账号,root/root, guest/guest。

 

16.启动tomat,访问http://localhost:8180/ 。

 

在https://github.com/alibaba/dubbo,点击右下角的‘Download ZIP',下载后解压,然后进入dubbo-master,执行 mvn clean install -Dmaven.test.skip进行install,然后进入dubbo-simple\dubbo-monitor-simple\target\,解压dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly.tar.gz得到dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly。进入dubbo-simple\dubbo-monitor-simple\target\dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly\dubbo-monitor-simple-2.5.4-SNAPSHOT\conf,修改dubbo.properties,将dubbo.registry.address=multicast://224.5.6.7:1234 改成dubbo.registry.address=zookeeper://127.0.0.1:2181。

进入上级的bin,执行start.bat,打开http://127.0.0.1:8080,就能看到monitor的页面了。

 

长恨东风 2014-09-04 13:01:58

 

我试了 。要加配置。provider加一句
<dubbo:monitor protocol="registry" />
Mac开发环境一键配置指南|从零到生产力 类别工具包管理Homebrew终端版本管理容器编辑器效率用一键脚本的话,2小时内可以搞定全部环境。有问题评论区交流~ 阅读详情

相关推荐

手把手教你学Simulink--双足机器人分数阶PID控制仿真

分数阶PID(Fractional-order PID, FOPID)控制是一种先进的控制策略,它扩展了传统的整数阶PID控制器的概念。FOPID控制器允许积分和微分项的阶次不是严格的整数,而是可以是任意实数,这为系统提供了更多的设计自由度,并可能带来更好的性能。在双足机器人控制中,分数阶PID控制可以用于改善机器人的平衡控制、轨迹跟踪等任务的性能。下面我们将详细介绍如何使用Simulink进行基于分数阶PID控制方法的双足机器人仿真研究。

MHD0815的博客 879

精进云原生 - Dubbo 3.2 正式发布

Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。

数据库技术 568

Claude code 入门 安装和快速使用

Claude Code 可以理解为一个。你只需要用简单的语言告诉它要做什么,比如「帮我整理这些文件」、「改一下这个程序」、「分析一下这些数据」,它就能理解你的电脑项目,并自动完成很多操作。,比如整理文件、编程、数据分析…等等。使用终端、命令行还是挡住了非常多的朋友,这个时候,有个界面很重要!Claude code、Codex 官方也都推出了插件,安装即可使用。

2401_84052244的博客 1356

升级dubbo3方案

dubbo3升级方案

Brucelwl的博客 1534

Java 大视界 -- 基于 Java+Flink 构建实时电商交易风控系统实战(436)

本文介绍基于Java+Flink构建实时电商交易风控系统的实战经验。系统采用分层架构设计,包含数据采集层、实时计算层、规则引擎层、数据存储层和应用服务层,实现毫秒级风险识别与拦截。核心组件包括Flink 1.17处理交易数据流、Drools规则引擎动态匹配风险规则、Redis缓存热点数据等。文章详细提供了开发环境配置清单和Maven依赖说明,确保系统具备低延迟(≤200ms)、高吞吐(10万TPS)和高可用性(99.99%)特性。该方案已通过生产环境验证,可有效应对恶意刷单、盗刷支付等电商交易风险。

【青云交】华为云云享专家 | 阿里云开发者社区专家博主 技术圈个人影响力前 9 | 博客之星 TOP12 优快云 首位四榜(原力榜 / 作者周榜 / 领军人物 / 综合热榜)榜首,破平台纪录! 苏州地区全榜霸榜,感恩全网十多万粉丝同行! 3942

电子元器件-三极管终终篇:三极管工作原理详解、参数/手册详解、开关应用详解、Ib电流研究、开关应用实例

三极管工作原理与应用摘要 三极管是一种电流控制器件,通过小基极电流控制大集电极电流。其内部结构由高掺杂发射区、薄低掺杂基区和中等掺杂集电区组成,形成NPN或PNP结。三极管有三种工作状态: 截止区:发射结和集电结均反偏,无放大作用 放大区:发射结正偏,集电结反偏,Ic=βIb 饱和区:两结均正偏,Ic不再随Ib增大 作为开关使用时,需确保三极管深度饱和(Vce≈0.2V)。设计要点包括: 基极电阻计算确保Ib足够大 集电极电阻控制Ic 基极加下拉电阻提高抗干扰 NPN管作地开关,PNP管作电源开关 典型应用

qq_60226558的博客 311

dubbo-admian的打包和平台搭建

本文简单介绍下dubbo-admin的搭建过程,包括dubbo-admin的打包细节,以及在打包过程中jdk8的一些坑的解决。

peace唠叨 3702

从LLM到Agent:智能体核心范式与认知架构全景解读

摘要: Agent技术正成为AI领域的新焦点,其核心在于通过外部认知基础设施(如记忆、工具、协议等)将大语言模型(LLM)从“生成文本”升级为“执行任务”的智能体。2026年的研究显示,Agent能力提升的关键已从模型本身转向外部化架构,如Harness工程(执行框架)和认知解耦(如ORCA框架)。当前Agent框架生态呈现多元化竞争(如LangGraph、AutoGen、CrewAI),但可观测性与治理仍是薄弱环节。未来竞争壁垒将取决于外部基础设施的完善程度,而非单纯模型性能。

2601_95807009的博客 50

Spring boot整合dubbo+zookeeper

下文将简述springboot整合dubbo+zookeeper实现api+provider+consumer模式,Api用于定于interface,provider和consumer依赖Api,provider实现api接口,consumer调用provider。对比api模块增加了qos-enable和qos-port两个属性,QoS是Dubbo提供的运维和管理功能,表示开启;当dubbo-api、dubbo-provider和dubbo-consumer都启动完成后,使用消费者接口访问。

qq_38527427的博客 1793

【STK】手把手教你利用STK进行光电红外仿真04-STK/EOIR模块的实战操作1航天器星载相机对LEO卫星成像

今天引入一个实际的场景,帮助大家完成对于这个模块的理解与运用。

weixin_44184852的博客 2417

七天征服AutoSAR/SomeIP_01速成配置并代码生成

本文为AutoSAR中SomeIP配置开发的实操指南摘要,重点介绍通过通信矩阵快速构建SomeIP工程的方法。核心内容包括:1)基于Excel通信矩阵生成系统描述文件(arxml);2)在AutoSAR工具中导入文件自动生成协议栈配置,涵盖ETHIF、SoAd等模块;3)关键报错处理(COM/PDUR/SOAD/SD模块的配置修正);4)SomeIPXF的数据编解码配置;5)SWC组件与RTE任务映射。教程强调"先完成再完美"的实践原则,指导开发者快速生成基础代码框架,为后续协议调试奠定

大叔带刺的博客 303

Dubbo应用可观测性升级指南与踩坑记录

应用从dubbo-3.1.*升级到dubbo-*:3.2.*最新稳定版本,提升JDK-17、应用的可观测性、GraalVM原生镜像编译。 1. dubbo版本发布说明 2. 应用修改点 3. 踩过的坑

简放视野的专栏 3709

AI Agent开发第82课-手把手教你把paddleocr-vl做成mcp使其在DIFY里运行

本文详解如何将国产顶尖多模态 OCR 模型 PaddleOCR-VL 封装为标准 MCP(Model Calling Protocol)服务,并通过自研的 HTTP-based MCP Client 接入 Dify 1.10,实现 AI Agent 在对话中自动识别并调用 OCR 能力。该方案已在某头部保险公司真实业务流程中落地,使用了当前最先进的“Agentic AI 原生”设计思想。

打造全国最全的AI Agent开发知识领域的博客 1625

dubbo yml配置_Dubbo框架的Hello World

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

weixin_39891317的博客 495

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

dubbo入门之Hello World

前言:dubbo需要zookeeper相配合使用,使用dubbo之前启动zookeeper,假设zookeeper服务ip为:192.168.3.19:2181,zookeeper前面博文有讲到,可以先学习再来进行dubbo学习。dubbo官方介绍:dubbo服务治理:搭建dubbo项目:一.创建生产者1创建maven项目Dubbo_HelloWorld2.pom文件内容:&lt;project ...

Java_Mrsun的博客 584

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

Leaton的博客 960

Dubbo 学习笔记(2)—— 快速入门

一、windows安装Zookeeper 1.下载 zookeeper 地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/ 2.解压 zookeeper 解压运行 zkServer.cmd, 初次运行会报错,没有zoo.cfg配置文件 3.修改zoo.cfg配置文件 将conf下的zoo_sample.cfg复制一份改名为...

qq_27868849的博客 304

Dubbo快速入门实例

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

拉轰的大蜗牛 1368

狂神spingboot笔记

狂神说SpringBoot01:Hello,World! 狂神说SpringBoot02:运行原理初探 狂神说SpringBoot03:yaml配置注入 狂神说SpringBoot04:JSR303数据校验及多环境切换 狂神说SpringBoot05:自动配置原理 狂神说SpringBoot06:自定义starter 狂神说SpringBoot07:整合JDBC 狂神说SpringBoot09:整合MyBatis 狂神说SpringBoot10:Web开发静态资源处理 狂神说SpringB

m0_45209551的博客 153

SpringBootStudy 狂神笔记

Springboot 狂神笔记

weixin_45765723的博客 209

dubbo学习日志(一)--搭建简单的dubbo框架(hello world)

简单了解一下dubbo: 1:简单说dubbo是一个由阿里巴巴开发的高性能、透明化的RPC框。 2:RPC又是什么:也就是远程调用。比如服务器A要调用服务器B上的方法,不在一个机器上要怎么调用,这时我们想到的是网络。rpc就干这事,就跟我们调用本地方法一样,不像调用web接口那么麻烦。 通过百度,又了解到dubbo的特点   透明化的远程方法调用:  像调用本地方法一样调用远程方法;只需简...

飘扬的麦子 305

狂神_springboot笔记

博客1 - springboot 1、Hello,World! 2、运行原理初探 3、yaml配置注入 功能:yaml与xml文件功能相似似,但其配置语法要求严格。 4、JSR303数据校验及多环境切换 5、自动配置原理 6、SpringBoot06:自定义starter 功能:自定义一个启动器模块。 7、员工管理系统(静态资源+完整代码) 8、Web开发静态资源处理 9、hymeleaf模板引擎 10、MVC自动配置原理 11、页面国际化 12、员工管理系统(超详细完整实现教程) 功能:..

ZM_Lucky的博客 1258

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
上一篇: 转:谈谈Memcached与Redis
下一篇: 使用泛型实现一个方法返回不同的类型<T,V>
Brage_Lin
博客等级 码龄20年 5粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值