注:尊重原创,转载请注明出处.
在搭建好zookeeper后,就可以开始将dubbo融入到springmvc中..
我是在已经搭建好的springmvc项目里面配置进dubbo,
1.首先配置好pom.xml.使用maven来配置相关jar包
<!-- dubbo 需要jar包 begin -->
<dependency>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
<version>3.2.5.Final</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
<version>2.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
<!-- dubbo 需要jar包 end -->
2.配置服务端
在提供服务的项目里面 创建dubbo-provider.xml,当然,这个名字随便你取,只要能读取到就行.[此项目提供相应的接口,共别的项目调用]
下面是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="gw-service-user" />
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 用户服务接口 -->
<dubbo:service interface="wusc.edu.facade.user.service.PmsUserFacade" ref="pmsUserFacade" />
</beans>
接口
package com.eat.dubbo.impl;
public interface PmsUserFacade {
/**
* 测试一下
* @param pmsUser
*/
public void test();
}
实现
package com.eat.dubbo.impl;
import org.springframework.stereotype.Service;
@Service("pmsUserFacade")
public class Test implements PmsUserFacade{
public void test() {
System.out.println("测试下.");
}
}
完了之后启动服务器..当然,这中间肯定是会报几个错的....
这个时候就会看到zookeeper 里面就会有日志,关闭tomcat可以在zookeeper里面看到这样的日志.
3.开始客户端的调用配置
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="edu-web-boss" />
<!-- 使用zookeeper注册中心暴露服务地址 -->
<!-- 注册中心地址 -->
<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
<!-- 用户服务接口 -->
<dubbo:reference interface="com.eat.dubbo.impl.PmsUserFacade" id="pmsUserFacade" check="false" />
</beans>
编写测试接口
package com.eat.colltroller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.eat.dubbo.impl.PmsUserFacade;
@Controller
@RequestMapping("test")
public class TestColltroller {
@Autowired
private PmsUserFacade pmsUserFacade;
@RequestMapping("test")
@ResponseBody
public Map<String, Object> test(){
Map<String, Object>map=new HashMap<String, Object>();
map.put("q", "方式");
pmsUserFacade.test();
// redisStringDao.add();
return map;
}
}
通过链接访问,就会看到控制台输入"测试下"这几个字,
说明配置成功.后续就可以通过此框架进行相关的分布式开发..
初始 dubbo end