dubbo 學習筆記 -- provider端
服務端的配置檔案: provider.xml
- <?xmlversion="1.0"encoding="UTF-8"?>
- <beansxmlns="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 ">
- <!-- Application name -->
- <dubbo:applicationname="Frame"/>
- <!-- registry address, used for service to register itself -->
-
<dubbo:registryaddress="multicast://224.5.6.7:1234"
- <!-- expose this service through dubbo protocol, through port 20880 -->
- <dubbo:protocolname="dubbo"port="20880"/>
- <!-- which service interface do we expose? -->
- <dubbo:serviceinterface="merchant.shop.service.IHelloService"ref="helloService"/>
- <!-- bean配置 -->
-
<
- class="merchant.shop.service.impl.HelloServiceImpl">
- </bean>
- </beans>
此處interface的地址要與consumer端的一致,所以在服務端工程中新建了和客戶端工程一樣的路徑來儲存service
spring 配置檔案 : providerApplicationContext.xml
- <?xmlversion="1.0"encoding="UTF-8"?>
- <beansxmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
- <!-- spring 與 ibatis 銜接 -->
- <beanid="sqlMapClient"class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
- <propertyname="configLocation"value="provider-sql-map-config.xml"></property>
- <propertyname="dataSource"ref="dataSource"/>
- </bean>
- <!-- 資料來源基本配置 -->
- <beanid="dataSource"
- class="org.springframework.jndi.JndiObjectFactoryBean">
- <propertyname="jndiName">
- <value>java:/comp/env/test</value>
- </property>
- </bean>
- <!-- 事務配置 -->
- <beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <propertyname="dataSource"ref="dataSource"></property>
- </bean>
- <!-- 宣告式事務管理 -->
- <beanid="baseTransactionProxy"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"abstract="true">
- <propertyname="transactionManager"ref="transactionManager"></property>
- <propertyname="transactionAttributes">
- <props>
- <propkey="add*">PROPAGATION_REQUIRED</prop>
- <propkey="edit*">PROPAGATION_REQUIRED</prop>
- <propkey="*">PROPAGATION_REQUIRED,readOnly</prop>
- </props>
- </property>
- </bean>
- </beans>
服務端需要啟動的兩個檔案如下 :
- package com.sitech.comm.dubbo;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- publicclass Provider {
- publicstaticvoid init() throws Exception {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"provider.xml"});
- context.start();
- singleton();
- }
- publicstatic ApplicationContext context = null;
- publicstatic ApplicationContext singleton() {
- if (context == null) {
- context = new ClassPathXmlApplicationContext(new String[] {"providerApplicationContext.xml"});
- }
- return context;
- };
- }
- package com.sitech.comm.dubbo;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import com.sitech.comm.log.LogWritter;
- publicclass ProviderInit extends HttpServlet {
- publicvoid init() throws ServletException {
- try {
- System.out.println("初始化dubbo服務端");
- Provider.init();
- } catch (Exception e) {
- System.out.println("初始化dubbo服務端失敗");
- }
- }
- }
web.xml 中增加啟動如下 :
- <servlet>
- <servlet-name>ProviderInit</servlet-name>
- <servlet-class>
- com.sitech.comm.dubbo.ProviderInit
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
consumer客戶端就可以遠端呼叫另一個工程的服務了
這裡出問題,一般都是配置檔案的問題,如資料庫的連線,spring 與 ibatis 銜接 時的配置檔案等
相關推薦
dubbo 學習筆記 -- provider端
服務端的配置檔案: provider.xml <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://ww
Dubbo學習筆記:No provider available for the service ...異常問題的解決
剛開始學習dubbo,先跑了一下github上面down下來的demo,開洞zookeeper,執行provider和consumer,實現遠端呼叫。然後就自己敲程式碼,對邏輯做一點靈活性的改變。我也指導真正敲起程式碼來,就會踩到坑。果然,提供者能夠成功註冊,執行消費者就找
dubbo學習筆記
變化 頁面開發 love 分布式服務 keyword link ide 開發 容量 一、Dubbo 創造者對於Dubbo的價值與意義作出過精辟的見解 1、單一應用架構 網站流量很小,只需一個應用,將所有功能都部署在一起,以減少部署節點和成本 此時,用於簡化增刪改查工作量的
Dubbo學習筆記5:Dubbo整體框架分析
什麽 資源 AD 文本文件 font ren factor exporter 服務提供者 Dubbo的分層架構 本文將簡單介紹Dubbo的分層架構設計,如下圖是Dubbo官方的整體架構圖: Dubbo官方提供的該架構圖很復雜,一開始我們沒必要深入細節,下面我們簡單介紹
Dubbo學習筆記10:Dubbo服務消費方啟動流程源碼分析
exec checked 自己 當前 In rpc mod png collect 同理我們看下服務消費端啟動流程時序圖: 在《Dubbo整體架構分析》一文中,我們提到服務消費方需要使用ReferenceConfig API來消費服務,具體是調用代碼(1)get()方法來
dubbo學習筆記(一)
獲取 linu pan 概念 規範 href 面向 打包 mon 學習之前先說明一下其他概念方便了解dubbo RPC概念: 是指遠程過程調用,是一種進程間的通信方式。這是一種思想,而不是規範。 (允許程序調用遠程的過程或函數,並且讓程序員無論是調用本地還是遠程的函
阿里巴巴分散式服務框架dubbo學習筆記
Dubbo是什麼? Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上是個服務呼叫的東東,說
9.redis學習筆記-客戶端&伺服器.md
12. 客戶端 12.1. 客戶端屬性 客戶端狀態包含的屬性可以分為兩類: 通用屬性,很少與特定功能相關,無論客戶端執行什麼工作,都要用到這些屬性 與特定功能相關的屬性,比如操作資料庫要用到的db屬性和dictid屬性 12.1.1. 套接字描述 客戶端狀
Dubbo學習筆記8:Dubbo的執行緒模型與執行緒池策略
Dubbo預設的底層網路通訊使用的是Netty,服務提供方NettyServer使用兩級執行緒池,其中 EventLoopGroup(boss) 主要用來接受客戶端的連結請求,並把接受的請求分發給 EventLoopGroup(worker) 來處理,boss和worker執
MongoDB學習筆記~客戶端命令列的使用
回到目錄 當我們從MongoDB網站下載安裝包之後,它會伴隨有一系列的工具,伺服器程式mongod是我們耳熟能詳的了,客戶端mongo和效能檢測mongostat我們可能就沒有用過了,今天主要是介紹一下mongo這個客戶端命令列工具的使用。 測試環境:服務端:linux版的mongod 2.6.9
C語言學習筆記--小端模式和大端模式
一、概念: 大端(儲存)模式:是指一個數據的低位位元組序的內容放在高地址處,高位位元組序存的內容放在低地址處。 小端(儲存)模式:是指一個數據的低位位元組序內容存放在低地址處,高位位元組序的內容存放在高地址處。 二、程式碼 #include
Maven+Spring+Dubbo學習筆記
學習參考文件 http://dubbo.io/User+Guide-zh.htm 本案例使用maven建立,關於如何建立可以參考我另一篇部落格 http://blog.csdn.net/a_piaoyouareminemine/article/details/499
Dubbo學習筆記:註冊到zookeeper並實現遠端呼叫
我們選擇zookeeper作為註冊中心。 一、首先要下載zookeeper,把程式解壓,進入conf,把zoo_sample.cfg修改為zoo.cfg。進入bin資料夾,在這裡開啟命令列,輸入zkserver.cmd,這樣就啟動了zookeeper。 可以看出,zook
dubbo學習筆記 九 dubbo-common之動態擴充套件extension
extension 動態擴充套件包,dubbo裡面有很多 @SPI @Activate @Adaptive 註解, 同時也有許多配置檔案。 如下面的路徑 private static final String SERVICES_DIRECTORY = "MET
Dubbo學習筆記(二)
三、小demo~ 環境 jdk1.7+maven+springmvc+tomcat7 1.引入dubbo的jar包 在pom.xml檔案中加入: <dependency> <groupId>com.al
dubbo學習筆記 第一章 zookeeper安裝配置
dubbo的實際使用中,基本都是使用zookeeper來管理它的服務,以及實現分散式呼叫。至於zookeeper是什麼,具有什麼使用者,大家可以百度搜索瞭解一下。實際生產環境中,zookeeper的應用服務數目,基本都是奇數個,這是由於它的選舉演算法決定的:z
Dubbo學習筆記(1)
1.1 Dubbo介紹 官網:http://dubbo.io/ 上面紅色框翻譯後:一個高新能的,基於Java的,開源的RPC框架 Dubbo是一個框架 Dubbo是一個分散式框架,致力於提供高新能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案(
Dubbo學習筆記(一)—— 建立一個簡單的Dubbo入門專案演示HelloWorld
一、Dubbo簡介1、dubbo是什麼?▶ 一個分散式服務框架▶ 一個RPC遠端服務呼叫方案▶ 一個SOA服務治理方案2、dubbo架構圖3、節點說明Provider:暴露服務的服務提供方Consumer:呼叫遠端服務的服務消費方Registry:發現並註冊服務的服務註冊中心
Dubbo學習筆記001---分散式服務呼叫_Dubbo簡介_依賴zookeeper做為註冊中心進行服務註冊與發現
Dubbo是阿里巴巴SOA服務化治理方案的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點。Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。
dubbo學習筆記(3):快速搭建
imp 阿裏巴巴 zkclient 80端口 spa gin zh-cn work 遠程服務調用 搭建一個簡單的dubbo服務 參考地址: dubbo官網:http://dubbo.apache.org/zh-cn/docs/user/references/registry