windows环境dubbo搭建手册
听说微服务很火,貌似我也正在用,给有需要的同学介绍一下dubbo的搭建吧。
首先声明这篇文章将介绍以下模块:
1. zookeeper搭建
2. dubbo+springmvc+mybatis demo(主要介绍dubbo)
源码地址会在本文最后提供,可直接运行!
zookeeper搭建
从http://www.apache.org/dist//zookeeper/stable/zookeeper-3.4.7.tar.gz下载压缩包,解压到自己想要安装的目录即可(不需要安装)。
1. 进入安装目录E:\software\tools\zookeeper-3.4.9\conf,将zoo_sample.cfg文件拷贝一份并命名为zoo.cfg
2. 将zoo.cfg文件内容修改成:(主要改数据和日志的本地存储目录)
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=E:\\zookeeper-3.4.7\\data
dataLogDir=E:\\zookeeper-3.4.7\\log
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
- 运行E:\software\tools\zookeeper-3.4.9\conf\bin目录下的zkServer.cmd文件,显示如下信息则配置成功。
dubbo+springmvc+mybatis
生产者代码配置
服务生产者类UserFacade
package com.lvba.customer.user.facade;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.lvba.customer.user.api.IUserFacade;
import com.lvba.customer.user.dto.UserDTO;
import com.lvba.customer.user.service.inter.IUserService;@Component
public class UserFacade implements IUserFacade{@AutowiredIUserService userService;public UserDTO geUserDTOByKey(Long id) {return userService.getUserDTOByKey(id);}}
用spring配置声明暴露服务
<?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:context="http://www.springframework.org/schema/context"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:rabbit="http://www.springframework.org/schema/rabbit"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.4.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><import resource="classpath:/META-INF/spring/application.xml" /><dubbo:application name="demotest-consumer" owner="programmer" organization="dubbox"/> <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper--><dubbo:registry address="zookeeper://localhost:2181"/> <!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo" port="20880" /><context:component-scan base-package="com.lvba.customer;"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /></context:component-scan><dubbo:service ref="userFacade" interface="com.lvba.customer.user.api.IUserFacade" version="1.0" /></beans>
服务启动类LanchProvider
package com.lvba.customer.dubbo.launch;import java.io.IOException;import org.springframework.context.support.ClassPathXmlApplicationContext;public class LanchProvider {public static void main(String[] args) throws IOException {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:META-INF/spring/*.xml");context.start();System.out.println("服务已经启动...");System.in.read();}
}
消费者代码配置
服务接口IUserFacade
package com.lvba.customer.user.api;import com.lvba.customer.user.dto.UserDTO;public interface IUserFacade {public UserDTO geUserDTOByKey(Long id);
}
Spring配置引用远程服务
<?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.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><dubbo:application name="demotest-consumer" owner="programmer" organization="dubbox"/> <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper--><dubbo:registry address="zookeeper://localhost:2181"/> <dubbo:reference interface="com.lvba.customer.user.api.IUserFacade" version="1.0" id="userFacade" /></beans>
服务调用方UserController
package com.lvba.customer.user.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import com.lvba.customer.user.api.IUserFacade;
import com.lvba.customer.user.dto.UserDTO;@Controller
@RequestMapping("/user")
public class UserController {@AutowiredIUserFacade userFacade;/*** @return*/@RequestMapping("/getUser")public ModelAndView getUser(){ModelAndView mv = new ModelAndView("user");UserDTO userDTO = userFacade.geUserDTOByKey(1L);mv.addObject("user", userDTO);mv.addObject("cc", "xxxx");return mv;}
}
验证
Java启动LanchProvider类,出现如下提示则表明服务注册成功:
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
服务已经启动...
jetty(或tomcat)启动lvba-web工程,在浏览器上访问http://localhost:8091/user/getUser,得到如下界面则表示消费者成功访问服务端。
关于maven引入dubbo时要注意spring版本兼容问题
<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>
源码地址:https://github.com/MAXAmbitious/lvba
这个demo是我之前搭建用于一个项目的枪版,有问题欢迎一起探讨!
windows环境dubbo搭建手册相关推荐
- windows环境下搭建rabbitMQ开发环境
2019独角兽企业重金招聘Python工程师标准>>> windows环境下搭建rabbitMQ开发环境 1.下载与安装 erlang rabbitmq 是使用erlang语言开发的 ...
- 在Windows环境下搭建Android开发环境
标题:在Windows环境下搭建 Android 开发环境 作者:CrazyPebble 时间:2011年2月28日 声明:此文在参考其他网上资料以及笔者实践总结写下,一来自己可以做一些总结,二来给跟 ...
- Apache Nifi在Windows环境下搭建伪群集及证书登录
代码地址如下: http://www.demodashi.com/demo/11986.html 前些时间做了关于Apache Nifi分布式集群的搭建分享,但很多时候要搭建分布式集群机器资源是个问题 ...
- 第二课 如何在WINDOWS环境下搭建以太坊开发环境
[本文目标] 根据本文指导,可以在WINDOUWS环境下完成以太坊智能合约部署前的比较环境准备. [技术收获] 如何在WINDOW(笔者以WINDOWS 10为例)环境搭建以太坊开发环境,按照以下安装 ...
- Windows 环境下搭建VTS
VTS windows 环境下搭建 测试vts 需要可以访问谷歌网站, 工具: Python2.7 (Python3 无法配置成功,配置时会报各种错误) Windows 7 JDK 版本1.8以上 ...
- Windows环境下搭建nginx文件下载服务器
这里 https://zhangphil.blog.csdn.net/article/details/122377041https://zhangphil.blog.csdn.net/article/ ...
- Windows环境下搭建Shell环境
有的时候在Windows环境我们在学习新知识的时候,需要linux操作环境,但又不想花钱买云服务,这个时候可以采用以下方法,简单快速高效的搭建好环境.然后就可以愉快的在终端用各种shell命令写脚本了 ...
- win10自带sftp服务器_FreeSSHD在Windows环境下搭建SFTP服务器
0 建议现在Windows环境下安装cygwin,否则在Windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 2 安装 傻瓜式一键安装 安装过程中会提示"提 ...
- MVE(Multi-View Enviroment)windows环境快速搭建
MVE在windows上进行搭建,要下载依赖库,需要一个个的编译非常麻烦.本文找到一种较快的方法进行编译. libjpeg (for MVE, http://www.ijg.org/) libpng ...
最新文章
- 区块链开发公司能做什么?对企业未来市场有何帮助?
- 网站描述怎么写?对网站优化有什么作用?
- 你以为 CSS 只是个简单的布局?装逼指南了解一下
- base target=_self/IE6、IE7 用法(转)
- 【POJ-3259】 Wormholes(判负环,spfa算法)
- vant部署_vant ui rem配置流程
- java读取打包时间_Java获取响应的日期时间,这样写是否合理?
- 你们都在吐槽的华为“浴霸”被这三家拿去用了...
- “要从中学开始普及人工智能教育,但不能增加学生负担”
- 剑指offer面试题31. 栈的压入、弹出序列(链表)
- 服务器应用越狱修复,iOS 11.2-11.3.1越狱问题汇总 iOS 11.2-11.3.1越狱错误及修复教程...
- 微信小程序参数二维码生成朋友圈分享图片
- 乔布斯的简历17.4万拍卖,HR看了想打人
- Linux 性能分析命令详解
- 银川二中2021高考模拟考试成绩查询,银川市第二中学2020—2021年第一学期高一月考成绩分享会...
- 企业路由器配置L2TP 站点到站点模式Virtual Private Network指南_3(外网访问内网资源)
- 无线电能传输 wpt 磁耦合谐振 过零检测 基于二极管整流的无线电能传输设计 基于同步整流的无线电能传输设计
- 扩增子测序 查找引物是否去除
- 介绍Namada:链间资产不可知(Asset-agnostic)隐私
- 惠普电脑为什么打不开计算机刷题,如果无法打开HP笔记本计算机的无线开关该怎么办?惠普ProBook 4411s...