maven+springmvc+dubbo+zookeeper



- # 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.
- dataDir=/tmp/zookeeper
- # the port at which the clients will connect
- clientPort=2181
- tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
- dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
- clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。


- dubbo.registry.address=zookeeper://127.0.0.1:2181
- dubbo.admin.root.password=root
- dubbo.admin.guest.password=guest
address:zookeeper 的ip地址 后面是端口号 ,和zookeeper中配置的端口号一样
修改完成后需要一个tomcat 打开tomcat \webapps\ROOT 目录 ,此目录放置的是tomcat的首页,删除所有的文件,将解压后修改好的所有的dubbo-admin 里的文件复制到 \webapps\ROOT中,
此时我们已经配置好了。现在可以启动tomcat了 (主意:在启动tomcat之前要先启动zookeeper ,启动zookeeper前面有介绍)。 启动tomcat之后 在浏览器输入 http://localhost:8080 (我的是8083) 进入dubbo管控台的主页
(备注:使用jdk1.8 tomcat启动可能会出错 有关 URI。。。。 的错误。我最后换成1.7了)
用户名和密码就是dubbo.properties 中配置的 默认的是 用户名 :root, 密码:root
输入用户名和密码之后 进入首页


- package com.cl.user.serviceImpl;
- import org.springframework.stereotype.Service;
- import com.cl.user.servicei.UserService;
- @Service("userService")
- public class UserServiceImpl implements UserService{
- @Override
- public String sayHello() {
- System.out.println("hello world----------------------------");
- return "hello world";
- }
- }

- package com.cl.user.servicei;
- public interface UserService {
- public String sayHello();
- }
当然 项目 1 要 依赖 项目 2
所以在1 的 pom.xml 中 有
- <dependency>
- <groupId>test-web</groupId>
- <artifactId>test-pubilc-interface</artifactId> 加入项目2依赖
- <version>0.0.1-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
那么 1 中的 UserServiceImpl 就可以实现 UserService接口
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo</artifactId>
- <version>2.5.3</version>
- </dependency>
还要有 zookeeper的 所以在1 的 pom.xml 中 有
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <version>3.3.3</version>
- </dependency>
下面介绍一下项目1 中 的 ApplicationContent-dubbo.xml 和 ApplicationContent.xml
- <!-- 启动组件扫描,排除@Controller组件,该组件由SpringMVC配置文件扫描 -->
- <context:component-scan base-package="com.cl.user.serviceImpl"/>
ApplicationContent-dubbo.xml dubbo服务的配置
- <!-- 提供方应用信息,用于计算依赖关系 -->
- <dubbo:application name="hehe_provider" />
- <!-- 使用zookeeper注册中心暴露服务地址 端口是zookeeper 中配置的2181-->
- <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
- <!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
- <!-- 用dubbo协议在20880端口暴露服务 -->
- <dubbo:protocol name="dubbo" port="20880" />
- <!-- 具体的实现bean -->
- <bean id="userService" class="com.cl.user.serviceImpl.UserServiceImpl" />
- <!-- 声明需要暴露的服务接口 -->
- <dubbo:service interface="com.cl.user.servicei.UserService" ref="userService" />
主意:有可能你的配置文件中不识别 <dubbo:> 去网上找解决的办法
到这里我们的 “提供者” 即 服务 已经开发完了,那么如何启动服务呢? 在项目1中有个start.java
- package com.test;
- import org.apache.log4j.PropertyConfigurator;
- public class start {
- static{
- PropertyConfigurator.configure("src/main/resources/log4j.properties");
- }
- public static void main(String[] args) {
- com.alibaba.dubbo.container.Main.main(args);
- }
- }
主意里面有main方法,可以直接运行启动了。别急!!! 之前还有个问题就是为什 ApplicationContent-dubbo.xml 和 ApplicationContent.xml 这两个配置文件 必须要放到 /MATE-INF/spring/下面
因为 com.alibaba.dubbo.container.Main.main(args) 默认就会去加载 /MATE-INF/spring/ 下的配置文件
我们来看一下源码



- @Controller
- public class UserController {
- @Resource(name="userService")
- private UserService userService;
- @RequestMapping("/hello/test/world")
- public void sayHello(){
- System.out.println(userService.sayHello()+"**************************");
- }
- }
ApplicationContext-mvc.xml 都是springmvc的配置 如下不解释了
- <mvc:annotation-driven/>
- <mvc:default-servlet-handler/>
- <context:component-scan base-package="com" />
- <!-- 对静态资源文件的访问 restful-->
- <mvc:resources mapping="/js/**" location="/js/" />
- <mvc:resources mapping="/lib/**" location="/lib/" />
- <mvc:resources mapping="/plugins/**" location="/plugins/" />
- <mvc:resources mapping="/uploadFiles/**" location="/uploadFiles/" />
- <mvc:resources mapping="/WEB-INF/html/**" location="/WEB-INF/html/" />
- <!-- 配置SpringMVC的视图解析器 -->
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/html"/>
- <property name="suffix" value=".jsp"/>
- </bean>
- <!-- 上传拦截,如最大上传值及最小上传值 -->
- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
- <property name="maxUploadSize">
- <value>104857600</value>
- </property>
- <property name="maxInMemorySize">
- <value>4096</value>
- </property>
- <property name="defaultEncoding">
- <value>utf-8</value>
- </property>
- </bean>
ApplicationContext-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-2.5.xsd
- http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
- <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
- <dubbo:application name="hehe_consumer" />
- <!-- 使用zookeeper注册中心暴露服务地址 -->
- <dubbo:registry address="zookeeper://127.0.0.1:2181" />
- <!-- 组播注册 -->
- <!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
- <!-- 生成远程服务代理,可以像使用本地bean一样使用userService -->
- <dubbo:reference id="userService" interface="com.cl.user.servicei.UserService" />
- </beans>
开发完消费者后 ,启动消费者,可以在管控台看到
- <!-- 组播注册 -->
- <!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
域名购买.com 后缀好域名
maven+springmvc+dubbo+zookeeper的更多相关文章
- 关于Maven+Springmvc+Dubbo+Zookeeper整合
为什么要用dubbo? 还是让官方来解释吧: http://dubbo.io/User+Guide-zh.htm http://dubbo.io/ 一般 nginx+tomcat | - ...
- Dubbo与Zookeeper、Spring整合使用 maven+springmvc+dubbo+zookeeper
为什么要用dubbo? 还是让官方来解释吧: http://dubbo.io/User+Guide-zh.htm http://dubbo.io/ 一般 nginx+tomcat | - ...
- 170328、Maven+SpringMVC+Dubbo 简单的入门demo配置
之前一直听说dubbo,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程序猿来说,真是一个好消息.最近有时间了,打算做一个demo把dubbo在本地跑起来先. 先copy一段dubbo ...
- Maven+SpringMVC+Dubbo 简单的入门demo配置
转载自:https://cloud.tencent.com/developer/article/1010636 之前一直听说dubbo,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程 ...
- MAC环境下idea:maven+Spring+Dubbo+Zookeeper简单工程搭建
: 一:安装软件:tomcatZookeeperDubbo+admin 二:工程: 总工程 API Pom.xml:不用引用任何东西 Provider Pom.xml:要denpend ...
- 精华【分布式、微服务、云架构、dubbo+zookeeper+springmvc+mybatis+shiro+redis】分布式大型互联网企业架构!
平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis ...
- 分布式架构真正适用于大型互联网项目的架构! dubbo+zookeeper+springmvc+mybatis+shiro+redis
分类: 分布式技术(3) 目录(?)[+] 平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成D ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(二)
上一篇文章是关于搭建SpringBoot+dubbo+zookeeper+maven框架的,但是里面的功能还不够完善,今天就日志管理方面做一些改善. 下了demo的网友可能会发现项目在启动时会有警告: ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(一)
这几天项目还没来,所以就自己试着参考网上的一些资料,搭建了一个SpringBoot+dubbo+zookeeper+maven框架,网上参考的很多资料照着他们一步一步搭建,最后很多都运行不通,很是郁闷 ...
随机推荐
- python 数据类型---列表使用之三
1. 判断列表中是否存在一个元素: "in" 的使用 list = ['Frank', 99, 'is',78, 7,3,4,'smart'] print(99 in list) ...
- C语言计算字符串子串出现的次数
#include<stdio.h>#include<string.h>int substring(char *str,char *str1);//函数原型int main(vo ...
- 解决phalcon model在插入或更新时会自动验证非空字段
在使用phalcon的insert和update功能时,因为数据库所有的字段设置的都是NOT NULL,而phalcon的model在插入或更新之前会自动判断字段是否需要必填,因此导致有空字段时无法存 ...
- 商业智能BI推动制造业智能化转型
制造业是我国国民经济的支柱产业,是我国经济增长的主导部门和经济转型的基础,如今我国制造业面临技术工艺不精.缺乏市场意识.商贸流通环节多.物流成本大.仓储效率低下等问题,正处在转型的特殊时期. 内忧: ...
- CentOS7 查看IP、Gateway、DNS、Hostname
1.查看IP# ip addr 2.查看路由# ip route 3.查看DNS# cat /etc/resolv.conf 4.查看主机名# hostname
- Scala 变长参数
如果Scala定义变长参数 def sum(i Int*), 那么调用sum时,可以直接输入sum(1,2,3,4,5) 但是不可以sum(1 to 5) 必须要将1 to 5 强制为seq sum( ...
- vs2010中如何设置Visual Assist方便地使用现成的代码编辑器风格
风格setting可以在下面网站上获取: http://studiostyl.es/ 在VS2010+VA直接使用会有2个显著的问题: 1,有些符号颜色太深,与黑色背景几乎融为一体: 2,光标落入大小 ...
- MongoDB学习笔记一—简介
MongoDB简介 MongoDB在功能和复杂性之间取得了很好的平衡,并且大大简化了原先十分复杂的任务,它具备支撑今天主流web应用的关键功能:索引.复制.分片.丰富的查询语法,特别灵活的数据模型.与 ...
- ORACLE lag()与lead() 函数
一.简介 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤.这种 ...
- Oracle学习笔记六 SQL常用函数
函数的分类 Oracle 提供一系列用于执行特定操作的函数 SQL 函数带有一个或多个参数并返回一个值 以下是SQL函数的分类: