dubbo服务的 远程调用

首先dubbo 和spring 是无缝整合的,先看下配置文件 提供端的,


<!-- 具体的实现bean -->
   <bean id="testService" class="com.dubbo.provider.impl.TetsServiceImpl" />

   <!-- 提供方应用信息,用于计算依赖关系 -->
   <dubbo:application name="xixi_provider" />

   <!-- 使用multicast广播注册中心暴露服务地址 <dubbo:registry address="multicast://224.5.6.7:1234" 
      /> -->

   <!-- 使用zookeeper注册中心暴露服务地址 -->
   <!--<dubbo:registry address="zookeeper://10.28.53.83:2181" />
-->

   <dubbo:registry address="zookeeper://127.0.0.1:2181" />


   <!-- 用dubbo协议在20880端口暴露服务 -->
   <dubbo:protocol name="dubbo" port="20880" />

   <!-- 声明需要暴露的服务接口 -->
   <dubbo:service interface="com.dubbo.provider.TetsService"
      ref="testService" />

大概就是这样,一些标签 和bean实例 接口service层    注意zookeeper  ip和端口配置


在看消费端


<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
   <dubbo:application name="test_consumer" />

   <!-- 使用zookeeper注册中心暴露服务地址 -->
   <!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
<!--
   <dubbo:registry address="zookeeper://10.28.53.83:2181" />
-->

   <!-- 使用zookeeper注册中心暴露服务地址 -->
   <dubbo:registry address="zookeeper://127.0.0.1:2181" />

   <!-- 生成远程服务代理,可以像使用本地bean一样使用demoService -->
   <dubbo:reference id="testService"
      interface="com.dubbo.provider.testService" />

注意的问题:在消费端要引入提供端的一些依赖,实体 服务层等等, zookeeper服务启动正常,

最后再通过单例dubbo和spring整合, 如下


public class DubboService {
   /** 单例对象 **/
   public static final DubboService me = new DubboService();
   /** spring上下文 **/
   private ClassPathXmlApplicationContext context = null;
   private final static String providerConfig = "applicationContext-mybatis.xml";
   
   
   public DubboService() {
      loadRpcConfig();
   }

   /**
    * 加载RPC服务
    */
   protected void loadRpcConfig(){
      context = new ClassPathXmlApplicationContext(new String[] {providerConfig});
      context.start();
   }
   
   /**
    * 通过引用id获取远程服务对象实例
    * @param referenceId
    * @return 返回远程服务对象实例
    */
   public Object getRpcService(String referenceId){
      return context.getBean(referenceId);
   }
}

最后 可以在项目中调用别的服务接口了,  待续...........

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值