您的位置:首页 > 其它

dubbo 学习笔记 -- consumer端

2016-10-26 13:37 218 查看
客户端配置文件 consumer.xml

[html] view
plaincopy

<?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 ">

<!-- consumer application name -->

<dubbo:application name="Frame" />

<!-- registry address, used for consumer to discover services -->

<dubbo:registry address="multicast://224.5.6.7:1234" />

<!-- which service to consume? -->

<dubbo:reference id="helloService" interface="merchant.shop.service.IHelloService" />

</beans>

这里dubbo的地址需要与下面服务端的一致

客服端只有action 和 service 的接口 ,没有service 的实现类

需要启动的文件有下面的两个:

[java] view
plaincopy

package com.sitech.comm.dubbo;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Consumer {

public static ClassPathXmlApplicationContext context = null;

public static ClassPathXmlApplicationContext singleton() {

if (context == null) {

context = new ClassPathXmlApplicationContext(new String[] {"consumer.xml"});

context.start();

}

return context;

};

}

[java] view
plaincopy

package com.sitech.comm.dubbo;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import com.sitech.comm.log.LogWritter;

public class ConsumerInit extends HttpServlet {

public void init() throws ServletException {

try {

System.out.println("初始化dubbo客户端");

Consumer.singleton();

} catch (Exception e) {

System.out.println("初始化dubbo客户端失败");

}

}

}

在 web.xml 中添加个启动:

[html] view
plaincopy

<servlet>

<servlet-name>ConsumerInit</servlet-name>

<servlet-class>com.sitech.comm.dubbo.ConsumerInit</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

acton 中的使用方法:

[java] view
plaincopy

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import merchant.shop.service.IHelloService;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.AbstractController;

import com.sitech.comm.dubbo.Consumer;

public class TestAction extends AbstractController{

@Override

protected ModelAndView handleRequestInternal(HttpServletRequest arg0,

HttpServletResponse arg1) throws Exception {

IHelloService helloService = (IHelloService) Consumer.singleton().getBean("helloService");

helloService.sayHello();

return null;

}

}

sevice 接口如下:

[java] view
plaincopy

package merchant.shop.service;

public interface IHelloService {

public String sayHello();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: