1、客户端配置文件 consumer.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 ">
- <!-- 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 的实现类
需要启动的文件有下面的两个:
- 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;
- };
- }
- 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 中添加个启动:
- <servlet>
- <servlet-name>ConsumerInit</servlet-name>
- <servlet-class>com.sitech.comm.dubbo.ConsumerInit</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
acton 中的使用方法:
- 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 接口如下:
- package merchant.shop.service;
- public interface IHelloService {
- public String sayHello();
- }