美高梅平台下载-美高梅娱乐平台登录

热门关键词: 美高梅平台下载,美高梅娱乐平台登录

)中介绍的服务的消费者和提供者都需要在注册

日期:2019-10-06编辑作者:美高梅平台下载

spring-boot-start-dubbo,让你可以使用spring-boot的方式开发dubbo程序。使dubbo开发变得如此简单。

一、注册中心Zookeeper的安装

 正如上一章节(微服务学习(2)-微服务框架实现-Dubbo简介)中介绍的服务的消费者和提供者都需要在注册中心注册。所以,本节选择Zookeeper入手介绍注册中心的安装部署。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

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

该项目是由teaey的项目spring-boot-starter-dubbo重构而成。 如果有什么指正的地方,请联系我 272472809@qq.com

1)Zookeeper下载

 可以到官网http://zookeeper.apache.org/下载。

继承spring-boot-starter-parent

要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时指定其版本

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

1. clone 代码

git clone git@github.com:JohnsonLow/spring-boot-starter-dubbo.git

2)下载

解压到指定目录下D:softzookeeper-3.4.8

修改zoo_sample.cfg 文件名(D:softzookeeper-3.4.8conf) 为 zoo.cfg

主要修改一下日志位置,具体配置文件如下:

[html]view plaincopy

# 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=D:\zookeeper\data

dataLogDir=D:\zookeeper\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.

#

#

# 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

配置文件简单解析

1、tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

2、dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

3、dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录

4、clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

环境参数

在普通maven项目中,需要在pom.xml中配置插件来修改jdk版本,utf-8编码等环境参数,在spring boot中则更加简单。

在eclipse中按ctrl+左键点击上面的spring-boot-starter-parent,查看其源码,其中有下面这段内容

  <properties>
        <java.version>1.6</java.version>
        <resource.delimiter>@</resource.delimiter> <!-- delimiter that doesn't clash with Spring ${} placeholders -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
    </properties>

从上面可以看出,spring boot项目默认的jdk版本是1.6,默认的编码是utf-8。如果我们要修改这些环境参数,比如将jdk版本改成1.8,只需要在我们项目的pom.xml文件中覆盖要修改的参数,如下

  <properties>
        <java.version>1.8</java.version>
    </properties>

2. 编译安装(暂时未发布。目前未发现bug)

cd spring-boot-starter-dubbomvn clean install

3)启动

在window下 直接运行D:zookeeper-3.3.6binzkServer.cmd ,或者命令行zkServer.cmd 即可。如下图:

美高梅平台下载 1

若是linux系统可以使用

在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作

  1. 启动ZK服务:      sh bin/zkServer.sh start

  2. 查看ZK服务状态: sh bin/zkServer.sh status

  3. 停止ZK服务:      sh bin/zkServer.sh stop

  4. 重启ZK服务:      sh bin/zkServer.sh restart

依赖

spring-boot-starter-parent的源码中又继承了spring-boot-dependencies,spring-boot-dependencies源码又包括以下内容

   <properties>
        <activemq.version>5.14.5</activemq.version>
        <antlr2.version>2.7.7</antlr2.version>
        <appengine-sdk.version>1.9.53</appengine-sdk.version>
        <!-- 以下省略.... -->
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot</artifactId>
                <version>1.5.4.RELEASE</version>
            </dependency>
            <!-- 以下省略.... -->
        </dependencies>
    </dependencyManagement>

<properties>中的内容是用来配置spring boot自动引入的各个jar包的版本,如果你想用别的版本替换里面的版本,和修改JDK一样,只需要在我们自己项目中的pom.xml文件中覆盖相关参数。
<dependencyManagement>中的内容,就是为什么我们自己项目中配置spring boot组件依赖时,可以不用配置版本,比如

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

如果不理解的话,可以参考我写的maven主题中的一篇文章 maven(十)-继承,这是理解spring boot项目之前必须要理解的概念

3. 修改maven配置文件(可以参考样例spring-boot-starter-dubbo-sample)

4)验证是否启动成功

也可以启动客户端连接一下在Cmd 中输入  zkCli.cmd 127.0.0.1:2181 如图所示:

美高梅平台下载 2

-

生成可执行jar文件

默认情况下,maven打包生成的jar文件是用来给其他项目依赖用的,是无法直接运行的。spring boot根据自生需要,提供了一个插件来生成可执行jar文件。在spring-boot-starter-parent源码中可以找到,如下:

               <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <mainClass>${start-class}</mainClass>
                    </configuration>
                </plugin>

我们只需要在自己项目的pom.xml中声明这个插件,就会生效

           <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

执行过mvn package打包命令后,target目录会生成*.jar,和*.jar.original

美高梅平台下载 3
.jar.original文件仅仅只有原代码,就是maven原版打包的内容

jar文件是内置了tomcat和spring boot环境,可以直接执行的。在控制台输入 java -jar module-1.0.jar

美高梅平台下载 4

本文由美高梅平台下载发布于美高梅平台下载,转载请注明出处:)中介绍的服务的消费者和提供者都需要在注册

关键词:

特别的是在一些框架中,为其他对象提供一种代

即ProxyPattern,23种常用的面向对象软件的设计模式之一。为其他对象提供一种代理以控制对这个对象的访问。在某些情...

详细>>

定义抽象命令和多个具体的命令,首先定义命令

命令模式,将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求队列或记录请求日志,...

详细>>

prototype.(用原型实例指定创建对象的种类,但是

原型模式 一. 概念 定义:Specify the kinds of objects to create using a prototypicalinstance,and create new objects by copying thisprototype.(...

详细>>

代码会变成什么样,可以使用策略模式

策略.jpg 本文仅仅为入门,高手勿喷。 策略模式 定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以...

详细>>