项目地址:
https://github.com/FateSolo/Dubbo-Test
目录:
- 0. 序
- 1. Maven构建项目
- 2. Gradle构建项目
- 3. 搭建Spring + Dubbo框架
- 4. 支持RESTful Remoting
- 5. Dubbo服务集群
- 6. ZooKeeper集群
- 7. Nginx + Tomcat集群
- 8. Redis共享session
在本章将用Gradle重新构建多module项目Dubbo-Test,以展示和Maven的区别。
1. 项目创建:
1) 创建名为Dubbo-Test的文件夹并进入:1
mkdir Dubbo-Test && cd Dubbo-Test
2) 创建Gradle Wrapper,但不是必需的:1
gradle wrapper
2. 创建parent module:
1) 创建build.gradle:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16subprojects {
group 'com.fatesolo'
version '1.0-SNAPSHOT'
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
}
2) 创建settings.gradle:1
rootProject.name = 'dubbo-parent'
3. 创建其余module:
1) 创建dubbo-api:1
2
3mkdir dubbo-api && cd dubbo-api
mkdir -p src/{main,test}/{java,resources}
touch build.gradle
2) 创建dubbo-server:1
2
3mkdir dubbo-server && cd dubbo-server
mkdir -p src/{main,test}/{java,resources}
touch build.gradle
并修改build.gradle:1
2
3dependencies {
compile project(':dubbo-api')
}
3) 创建dubbo-client:1
2
3mkdir dubbo-client && cd dubbo-client
mkdir -p src/{main,test}/{java,resources} src/main/webapp
touch build.gradle
并修改build.gradle:1
2
3
4
5apply plugin: 'war'
dependencies {
compile project(':dubbo-server')
}
4) 修改settings.gradle,增加如下代码:1
include 'dubbo-api', 'dubbo-server', 'dubbo-client'
4. 测试多module项目
1) 在dubbo-api中创建子包com.fatesolo.dubbo.api,创建实例类TestApi:1
2
3
4
5
6
7
8
9package com.fatesolo.dubbo.api;
public class TestApi {
public String testAPi() {
return "api";
}
}
2) 在dubbo-server中创建子包com.fatesolo.dubbo.server,创建实例类TestServer:1
2
3
4
5
6
7
8
9
10
11
12package com.fatesolo.dubbo.server;
import com.fatesolo.dubbo.api.TestApi;
public class TestServer {
public String testServer() {
TestApi api = new TestApi();
return "server " + api.testAPi();
}
}
3) 在dubbo-client中创建index.jsp:1
2
3
4
5
6
7
8
9<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.fatesolo.dubbo.server.TestServer" %>
<!DOCTYPE html>
<html>
<body>
<% TestServer server = new TestServer(); %>
<h2><%=server.testServer()%></h2>
</body>
</html>
4) 进入到Dubbo-Test文件夹,键入命令:1
gradle build
查看各个module,可以看到都已经生成了各自的包,其中dubbo-client-1.0-SNAPSHOT.war包的lib中已经包含了dubbo-api和dubbo-server的jar包。
5) 将dubbo-client-1.0-SNAPSHOT.war部署到Tomcat,运行并访问http://localhost:8080/dubbo-client-1.0-SNAPSHOT ,得到如下结果:1
server api
作者 [@FateSolo]
2017 年 05月 25日