一、项目介绍
二、项目分解说明
1 . p3dubbo-service
说明:该项目为简单的maven构建项目,无任何依赖引用,只作接口定义
接口定义如下:
pom文件说明
2. p3dubbo-service
说明:该项目为接口实现项目,进行业务逻辑编写
接口实现如下:
@Service("demoService") public class DemoServiceImpl implements DemoServiceI { public String sayHello(String name) { System.out.println(" -- jeecg-p3-dubbo---say: "+name); return name + "[jeecg-p3-dubbo]"; } } |
pom如下:(引入jeecg-p3父POM,增加dubbo依赖支持)
<parent> <groupId>org.p3framework</groupId> <artifactId>jeecg-p3-pom</artifactId> <version>1.0-SNAPSHOT</version> </parent> <dependencies> <!-- 接口API --> <dependency> <groupId>org.p3dubbo</groupId> <artifactId>p3dubbo-service</artifactId> <version>0.0.1-SNAPSHOT</version> <type>jar</type> <scope>compile</scope> </dependency> <!-- dubbo jar --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> </dependencies> |
Spring dubbo配置文件
<?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.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 提供方应用名称信息,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的 --> <dubbo:application name="jeecgp3_dubbo_provider"></dubbo:application> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry address="zookeeper://192.168.0.1:2181" check="false" subscribe="false" register=""></dubbo:registry> <!-- 要暴露的服务接口 --> <dubbo:service interface="com.jeecg.demo.DemoServiceI" ref="demoService" /> </beans> |
3..jeecg-p3-web (启动项目)
说明:该项目为jeecg-p3启动项目,作为服务提供项目,需要引入p3dubbo-service-impl项目
1)引入spring dubbo配置
2)pom引入接口实现项目
启动项目jeecg-p3-web,提供服务(前台先按照zookeeper)
4. p3dubbo-consumer(消费项目)
测试类:
|
Spring 配置
<?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.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --> <dubbo:application name="dubbo_consumer" /> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry address="zookeeper://192.168.0.1:2181" /> <!-- 生成远程服务代理,可以像使用本地bean一样使用demoService --> <dubbo:reference id="demoService" interface="com.jeecg.demo.DemoServiceI" /> </beans> |
pom引用:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.p3dubbo</groupId> <artifactId>p3dubbo-consumer</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.p3framework</groupId> <artifactId>jeecg-p3-pom</artifactId> <version>1.0-SNAPSHOT</version> </parent> <dependencies> <!-- api --> <dependency> <groupId>org.p3dubbo</groupId> <artifactId>p3dubbo-service</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> <!-- dubbo jar --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> </dependencies> </project> |
测试结果
[1].采用maven方式启动jeecg-p3-web项目
[2].执行类DubboConsumer
客户端:
服务端:
源码下载地址:http://pan.baidu.com/s/1b78fuu 密码:qtx3
来源:oschina
链接:https://my.oschina.net/u/930898/blog/731581