您的位置:首页 > 其它

dubbo 学习笔记 -- consumer端

2013-06-03 15:06 363 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: