如何理解Storm dubbo服务的调用

60次阅读
没有评论

共计 3256 个字符,预计需要花费 9 分钟才能阅读完成。

本篇文章给大家分享的是有关如何理解 Storm dubbo 服务的调用,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

针对一个具体的例子,来说明,如何调用 dubbo 的服务。

首先:先保证您引入了以下的 jar 包:

如何理解 Storm dubbo 服务的调用如何理解 Storm dubbo 服务的调用

如果您的工程不是 Mavn 工程,并且您是在 Storm 之中调用的 dubbo 服务。那么以上的 jar 包是您需要放在工程之中的几个 jar 包

请参看右图,在其中我,我做了一个简易的区分:

dubbo:所有 duboo 相关的 jar 包

lib:所有 Storm 所需要的 jar 包

NotStorm:并不是 Storm 所需要的 jar 包

Spring:所有包含 Spring 的 jar 包

其次:请您务必配置好  application.xml 的文件。一个具体的示例如下。

?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= service.mq.kafka  / 
 !--  使用 zookeeper 注册中心暴露发现服务地址  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 协议在 1500 端口暴露服务  -- dubbo:protocol name= dubbo  port= 20000  / !-- 接口  -- !--  dubbo:service timeout= 5000  interface= com.wooboo.service.kafka.KafkaServie   ref= KafkaServiceimpl  /  -- !-- 实现类  -- !--  bean id= KafkaServiceimpl   >

  在以上的配置中:  

  1 reference id:   标识着具体的 project 引用之中 class 的名称。 

  2 interface:表示着通过 dubbo 服务,给我们提供的接口的名称,在这里,通常需要将接口的名称注册到 zookeeper 服务之中。

  3 zookeeper 地址:

 dubbo:registry
 address= zookeeper://192.168.50.247:2181?backup=192.168.50.248:2181,192.168.50.249:2181  /

  下面,请参看我们的一个具体小程序:依据商品 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());
}

    在这个小程序之中,请注意本地我们的  

ProductCategoryService

    需要在本地有这个 class 类存在。在方法的调用过程之中,getBean()中传递的是我们在 xml 文件之中配置的 id 名称。

    到此,一个小的服务调用就完成了。 

以上就是如何理解 Storm dubbo 服务的调用,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计3256字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)