Dubbo_创建Dubbo服务并在ZooKeeper注册,然后通过Jar包执行
1、DemoService
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package dub.service.demo; import java.net.InetAddress;import java.net.UnknownHostException; /** * Created by JamesC on 16-10-8. */public class DemoService implements IDemoService { public String sayHello(String name) { String msg = "欢迎您:" + name + " IP地址:" + getIP(); System.out.println(msg); return msg; } private String getIP() { InetAddress addr = null; try { addr = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } String ip = addr.getHostAddress();//获得本机IP String address = addr.getHostName();//获得本机名称 return ip; }} |
|
|
|
2、dubbo-provider.xml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?xml version="1.0" encoding="UTF-8"?> xsi:schemaLocation="http://www.springframework.org/schema/beans <context:annotation-config/> <!-- 配置要扫描的包 --> <context:component-scan base-package="dub.service.demo"/> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="dubbo-service-demo"/> <!-- 使用zookeeper注册中心暴露服务地址 --> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20880"/> <!-- 用户服务接口 --> <dubbo:service interface="dub.service.demo.IDemoService" ref="demoService" /> <bean id="demoService" class="dub.service.demo.DemoService"/></beans> |
3、pom.xml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <modelVersion>4.0.0</modelVersion> <groupId>dub-service-demo</groupId> <artifactId>dub-service-demo</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>dub-service-demo</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> </snapshotRepository> </distributionManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.5</version> </dependency> </dependencies> <build> <!--打包生成的jar包文件名--> <finalName>dub-service-demo</finalName> <resources> <resource> <targetPath>${project.build.directory}/classes</targetPath> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <!--<include>**/*.xml</include>--> <!--<include>**/*.properties</include>--> <include>**/*.xml</include> </includes> </resource> <!-- 结合com.alibaba.dubbo.container.Main --> <resource> <!--配置文件拷贝的对象目录--> <targetPath>${project.build.directory}/classes/META-INF/spring</targetPath> <!--配置文件必须放在spring文件夹下,否则dubbo即使显示启动成功,实际上也没有启动成功--> <directory>src/main/resources/spring</directory> <filtering>true</filtering> <includes> <!-- <include>spring-context.xml</include>--> <include>**/*.xml</include> </includes> </resource> </resources> <plugins> <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <classesDirectory>target/classes/</classesDirectory> <archive> <manifest> <mainClass>com.alibaba.dubbo.container.Main</mainClass> <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 --> <useUniqueVersions>false</useUniqueVersions> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> <manifestEntries> <Class-Path>.</Class-Path> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <!--打包阶段拷贝依赖文件--> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <type>jar</type> <includeTypes>jar</includeTypes> <!-- <useUniqueVersions>false</useUniqueVersions>--> <!--打包依赖文件的输出路径--> <outputDirectory> ${project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build></project> |
1、使用maven进行打包,先运行clean 再运行install
四、启动Dubbo服务
1、把jar文件和lib文件夹拷贝到C盘DemoServiceJars目录下

2、命令行定位到C盘DemoServiceJars目录下,执行java -jar dub-service-demo.jar

3、ZooKeeper检测到该服务

4、Linux启动Dubbo的方式也是执行:java -jar dub-service-demo.jar&
五、注意事项
1、配置文件dubbo-provider.xml必须放在resource-->spring文件夹下,否则dubbo就算显示启动成功, 实际上也没有启动
2、源码请从群中下载
Dubbo_创建Dubbo服务并在ZooKeeper注册,然后通过Jar包执行的更多相关文章
- dubbo服务治理中间件,zookeeper注册中心
对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...
- dubbo服务治理中间件,zookeeper注册中心 安装配置
对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...
- 服务端使用Zookeeper注册服务地址,客户端从Zookeeper获取可用的服务地址。
一个轻量级分布式RPC框架--NettyRpc - 阿凡卢 - 博客园 http://www.cnblogs.com/luxiaoxun/p/5272384.html 这个RPC框架使用的一些技术所解 ...
- dubbo 2.8.4(dubbox)的jar包制作【添加到maven本地仓库】
1. 下载 网址:https://github.com/hongmoshui/dubbox 2. 解压zip文件 3. 用maven编译文件 如果没有配置全局maven,就直接使用cmd命令行[进 ...
- 监控与管理dubbo服务
Dubbo是阿里多年前开源的一套服务治理框架,在众多互联网企业里应用广泛.本文介绍了一些如何监控与管理dubbo服务.使用的工具与<dubbox 的各种管理和监管>大致相同,本文更侧重于命 ...
- kettle_为子server创建carte服务
原创作品.出自 "深蓝的blog" 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46876783 把k ...
- dubbo的jmeter压测时jar包的热加载/动态加载
在做dubbo的jmeter压测时,需要把jar包放入jmeter的lib/ext目录下,但是jmeter启动的时候会自动加载这个目录lib目录及lib/ext目录,这样启动后放入这些目录下的jar包 ...
- 关于IDEA的Maven打jar包springboot项目问题,打成可执行jar包,IDEA创建的maven项目和spring initializr项目
Spring Initializr创建的项目 源文件地址 https://github.com/TaoPanfeng/maven-package 项目的创建步骤 进行打包 clear package ...
- 自定义API(Jar包)的创建与使用(简单实现案例)
@ 目录 学习内容 1. 自定义工具类 2. 导出jar 3. 加载Jar包 4. 调用自定义的API方法 总结 学习内容 1. 自定义工具类 新建一个java项目,然后创建包和工具类StringUt ...
随机推荐
- 阻塞通信之Socket编程
Socket通信,主要是基于TCP协议的通信.本文从Socket通信(代码实现).多线程并发.以及TCP协议相关原理方面 介绍 阻塞Socket通信一些知识. 本文从服务器端的视角,以“Echo Se ...
- Putty文件夹蓝色太暗问题
Putty文件夹蓝色太暗问题 用Putty通过ssh登陆Linux服务器时,有时候会发现系统默认的蓝色字体太暗,具体解决方法如下: (1)打开putty客户端,选择某登陆Session,然后load: ...
- Codeforces 549B. Looksery Party[构造]
B. Looksery Party time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- 网页下载Google Play 的App
前言 当你想在google play上下载某个应用,而无奈手机的系统并没有安装google servicess,此刻是否有些捉急? 本文分享的是一个网站,它可以无需手机而直接通过网页下载Google ...
- flex sdk中mx_internal function getTextField() 这种函数如何调用?
在用flex 开发中,一些函数前打上了 mx_internal 外部调用不了,其实这样写就可以了 xxx.mx_internal::getTextField() 而 xxx.getTextField( ...
- GIT安装和使用
GIT 首先登陆github账号 在本地创建一个文件夹 点击文件夹,右键,选择Git create repository here 操作之后,会生成一个.git文件(这个文件为隐藏文件) 在此 ...
- [No000007]搜索引擎以图搜图的原理
之前,Google把"相似图片搜索"正式放上了首页. 你可以用一张图片,搜索互联网上所有与它相似的图片.点击搜索框中照相机的图标. 一个对话框会出现. 你输入网片的网址,或者直接上 ...
- ADB server didn't ACK 问题解决
在命令行中运行adb shell 出现如下错误提示 C:\Documents and Settings\Administrator>adb shelladb server is out of d ...
- Java—Servlet开发
Servlet API中有4个java包: javax.servlet:包含定义Servlet与Servlet容器之间契约的类与接口. javax.servlet.http:包含定义HTTPServl ...
- http协议(七)通用首部字段
通用首部字段的意思,就是:请求和响应报文双方都会使用的首部 1.Cache-Control 通过指定它的指令,能操作缓存的工作机制 指令参数是可选的,多个指令通过“,”分隔 Cache-Control ...