共計(jì) 3256 個(gè)字符,預(yù)計(jì)需要花費(fèi) 9 分鐘才能閱讀完成。
本篇文章給大家分享的是有關(guān)如何理解 Storm dubbo 服務(wù)的調(diào)用,丸趣 TV 小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
針對一個(gè)具體的例子,來說明,如何調(diào)用 dubbo 的服務(wù)。
首先:先保證您引入了以下的 jar 包:
如果您的工程不是 Mavn 工程,并且您是在 Storm 之中調(diào)用的 dubbo 服務(wù)。那么以上的 jar 包是您需要放在工程之中的幾個(gè) jar 包
請參看右圖,在其中我,我做了一個(gè)簡易的區(qū)分:
dubbo:所有 duboo 相關(guān)的 jar 包
lib:所有 Storm 所需要的 jar 包
NotStorm:并不是 Storm 所需要的 jar 包
Spring:所有包含 Spring 的 jar 包
其次:請您務(wù)必配置好 application.xml 的文件。一個(gè)具體的示例如下。
?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
!-- 消費(fèi)方應(yīng)用名,用于計(jì)算依賴關(guān)系,不是匹配條件,不要與提供方一樣 --
dubbo:application name= service.mq.kafka /
!-- 使用 zookeeper 注冊中心暴露發(fā)現(xiàn)服務(wù)地址 223.203.216.238 192.168.50.247:2181?backup=192.168.50.248:2181,192.168.50.249:2181 --
dubbo:registry
address= zookeeper://192.168.50.247:2181?backup=192.168.50.248:2181,192.168.50.249:2181 /
!-- dubbo:registry address= zookeeper://192.168.36.238:2181?backup=192.168.36.239:2181,192.168.36.240:2181,192.168.36.241:2181,192.168.36.242:2181
/ --
!-- dubbo:registry address= zookeeper://192.168.50.247:2181?backup=192.168.50.248:2181,192.168.50.249:2181
/ --
!-- 用 dubbo 協(xié)議在 1500 端口暴露服務(wù) --
dubbo:protocol name= dubbo port= 20000 /
!-- 接口 --
!-- dubbo:service timeout= 5000 interface= com.wooboo.service.kafka.KafkaServie
ref= KafkaServiceimpl / --
!-- 實(shí)現(xiàn)類 --
!-- bean id= KafkaServiceimpl > 在以上的配置中:
1 reference id: 標(biāo)識(shí)著具體的 project 引用之中 class 的名稱。
2 interface:表示著通過 dubbo 服務(wù),給我們提供的接口的名稱,在這里,通常需要將接口的名稱注冊到 zookeeper 服務(wù)之中。
3 zookeeper 地址:
dubbo:registry
address= zookeeper://192.168.50.247:2181?backup=192.168.50.248:2181,192.168.50.249:2181 /
下面,請參看我們的一個(gè)具體小程序:依據(jù)商品 id,得到商品的其他信息
package test;
import java.util.Set;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.wooboo.common.bean.ProductCache;
import com.wooboo.common.bean.ProductCategoryCache;
import com.wooboo.service.kafka.KafkaServie;
import com.wooboo.service.product.service.ProductService;
import com.wooboo.service.productcategory.service.ProductCategoryService
;
public class TestDubbo {
public static ClassPathXmlApplicationContext context = null;
static {
context = new ClassPathXmlApplicationContext(new String[] { applicationContext.xml });
context.start();
public static void main(String[] args) throws Exception {
// 商品的 Service
ProductService productService = (ProductService) context
.getBean( productCacheService
// 商品分類的 Service
ProductCategoryService
categoryService = (ProductCategoryService
) context
.getBean( productCategoryService
long goodsid = 627L;
ProductCache cache = productService.getProduct(goodsid);
Long productCategoryId = cache.getProductCategoryId();
ProductCategoryCache categoryCache = categoryService
.getProductCategory(productCategoryId);
long parrent = categoryCache.getParent();
Set Long child = categoryCache.getChildren();
System.err.println(parrent);
public static void p(Object o) {System.err.println(o.toString());
}
在這個(gè)小程序之中,請注意本地我們的
ProductCategoryService
需要在本地有這個(gè) class 類存在。在方法的調(diào)用過程之中,getBean()中傳遞的是我們在 xml 文件之中配置的 id 名稱。
到此,一個(gè)小的服務(wù)調(diào)用就完成了。
以上就是如何理解 Storm dubbo 服務(wù)的調(diào)用,丸趣 TV 小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注丸趣 TV 行業(yè)資訊頻道。