1、項目介紹git
2、項目分解說明github
1 . p3dubbo-serviceweb
說明:該項目爲簡單的maven構建項目,無任何依賴引用,只做接口定義spring
接口定義以下:apache
pom文件說明api
2. p3dubbo-serviceapp
說明:該項目爲接口實現項目,進行業務邏輯編寫maven
接口實現以下:ide
@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