博罗中山网站建设,专业的企业进销存软件比较好,项目网络图最早开始时间,厦门建设局官方网站2019独角兽企业重金招聘Python工程师标准 Dubbo采用全Spring配置方式#xff0c;透明化接入应用#xff0c;对应用没有任何API侵入#xff0c;只需用Spring加载Dubbo的配置即可#xff0c;Dubbo基于Spring的Schema扩展进行加载。 一#xff1a;单机模式安装… 2019独角兽企业重金招聘Python工程师标准 Dubbo采用全Spring配置方式透明化接入应用对应用没有任何API侵入只需用Spring加载Dubbo的配置即可Dubbo基于Spring的Schema扩展进行加载。 一单机模式安装zookeeper 1,下载zookeeper注册中心下载地址http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载后解压即可进入E:\zookeeper-3.3.6\zookeeper-3.3.6\bin 双击zkServer.cmd启动注册中心服务。 zkServer.sh【Linux】或zkServer.cmd【Windows】 2,在你执行启动脚本之前还有几个基本的配置项需要配置一下Zookeeper的配置文件在 conf 目录下这个目录下有 zoo_sample.cfg 和 log4j.properties你需要做的就是将zoo_sample.cfg 改名为 zoo.cfg因为 Zookeeper在启动时会找这个文件作为默认配置文件。下面详细介绍一下这个配置文件中各个配置项的意义。 •tickTime这个时间是作为Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔也就是每个 tickTime 时间就会发送一个心跳。 •dataDir顾名思义就是 Zookeeper保存数据的目录默认情况下Zookeeper 将写数据的日志文件也保存在这个目录里。 •dataLogDir顾名思义就是Zookeeper 保存日志文件的目录 •clientPort这个端口就是客户端连接Zookeeper 服务器的端口Zookeeper 会监听这个端口接受客户端的访问请求 配置好后zookeeper会监听本机的2181端口。 当这些配置项配置好后你现在就可以启动 Zookeeper 了启动后要检查 Zookeeper 是否已经在服务可以通过 netstat – ano 命令查看是否有你配置的 clientPort 端口号在监听服务。 二服务提供者 定义服务接口:(该接口需单独打包在服务提供方和消费方共享) [java] view plain copy print? package com.unj.dubbotest.provider; import java.util.List; public interface DemoService { String sayHello(String name); public List getUsers(); } 在服务提供方实现接口(对服务消费方隐藏实现) [java] view plain copy print? package com.unj.dubbotest.provider.impl; import java.util.ArrayList; import java.util.List; import com.unj.dubbotest.provider.DemoService; public class DemoServiceImpl implements DemoService { public String sayHello(String name) { return Hello name; } public List getUsers() { List list new ArrayList(); User u1 new User(); u1.setName(hejingyuan); u1.setAge(20); u1.setSex(f); User u2 new User(); u2.setName(xvshu); u2.setAge(21); u2.setSex(m); list.add(u1); list.add(u2); return list; } } 用Spring配置声明暴露服务 [html] view plain copy print? ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:dubbohttp://code.alibabatech.com/schema/dubbo xsi:schemaLocationhttp://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 iddemoService classcom.unj.dubbotest.provider.impl.DemoServiceImpl / !-- 提供方应用信息用于计算依赖关系 -- dubbo:application namexs_provider / !-- 使用multicast广播注册中心暴露服务地址 -- !--dubbo:registry addressmulticast://224.5.6.7:1234 / -- !-- 使用zookeeper注册中心暴露服务地址 --即zookeeper的所在服务器ip地址和端口号 -- dubbo:registry addresszookeeper://192.168.24.213:2181 / !-- 用dubbo协议在20880端口暴露服务 -- dubbo:protocol namedubbo port20880 / !-- 声明需要暴露的服务接口 -- dubbo:service interfacecom.unj.dubbotest.provider.DemoService refdemoService / /beans 加载Spring配置启动服务或者将项目建为web项目然后在web.xml中配置好spring的启动然后扔到tomcat中即可提供服务 [java] view plain copy print? package com.unj.dubbotest.provider.impl; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Provider { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext( new String[] { applicationContext.xml }); context.start(); System.in.read(); // 为保证服务一直开着利用输入流的阻塞来模拟 } } 三服务消费者 通过Spring配置引用远程服务 [html] view plain copy print? ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:dubbohttp://code.alibabatech.com/schema/dubbo xsi:schemaLocationhttp://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 !-- 消费方应用名用于计算依赖关系不是匹配条件不要与提供方一样 -- dubbo:application namehjy_consumer / !-- 使用zookeeper注册中心暴露服务地址 -- !-- dubbo:registry addressmulticast://224.5.6.7:1234 / -- dubbo:registry addresszookeeper://192.168.24.213:2181 / !-- 生成远程服务代理可以像使用本地bean一样使用demoService -- dubbo:reference iddemoService interfacecom.unj.dubbotest.provider.DemoService / /beans 调用服务测试 [java] view plain copy print? package com.alibaba.dubbo.demo.pp; import java.util.List; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.unj.dubbotest.provider.DemoService; public class Consumer { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext( new String[] { applicationContext.xml }); context.start(); DemoService demoService (DemoService) context.getBean(demoService); String hello demoService.sayHello(hejingyuan); System.out.println(hello); List list demoService.getUsers(); if (list ! null list.size() 0) { for (int i 0; i list.size(); i) { System.out.println(list.get(i)); } } System.in.read(); } } 测试结果 附Dubbo的管理页面 需要下载dubbo-admin-2.5.3的war包 下载地址http://download.csdn.net/detail/u013286716/7041185 操作如下 1替换掉tomcat/webapps下自带的ROOT文件夹内容即替换tomcat的启动主页将下载的war包解压到webapps/ROOT中直接替换即可 注意jdk不要使用1.8本次实验使用的为1.6 2启动tomcat访问ip:8080即可或者如果是本地的话使用localhost:8080 输入用户名密码在E:\apache-tomcat-7.0.6-dubbo\webapps\ROOT\WEB-INF下的dubbo.properties文件中即可查看到如 3访问 http://192.168.24.213:38080/ 核心技术Maven,Springmvc mybatis shiro, Druid, Restful, Dubbo, ZooKeeper,Redis,FastDFS,ActiveMQ,Nginx 1. 项目核心代码结构截图 项目模块依赖 特别提醒开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化 2. 项目依赖介绍 2.1 后台管理系统、Rest服务系统、Scheculer定时调度系统依赖如下图 2.2 Dubbo独立服务项目依赖如下图 3. 项目功能部分截图 zookeeper、dubbo服务启动 dubbo管控台 REST服务平台 转载于:https://my.oschina.net/u/2603356/blog/713571