紧接上一期,构建provider工程
工程目录如下图:
TestDubbo接口代码如下:
package dp.dubbo.service;
public interface TestDubbo {
public String getStr();
}
接口的实现TestDubboImpl代码如下:
package dp.dubbo.service.impl;
import dp.dubbo.service.TestDubbo;
//import com.alibaba.dubbo.config.annotation.Service;
//@Service(version="1.0.0")
public class TestDubboImpl implements TestDubbo {
public String getStr() {
return "hahahaha";
}
}
<?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="provider-dubboTest" />
<!--
<dubbo:annotation package="dp.dubbo.service" /> -->
<!--zookeeper注册中心
<dubbo:registry protocol="zookeeper" address="10.57.41.19:2181" />-->
<!--使用multicast广播注册中心暴露服务地址 -->
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:protocol name="dubbo" port="20880" />
<!-- -->
<dubbo:service interface="dp.dubbo.service.TestDubbo" ref="testDubboService"/>
<bean id="testDubboService" class="dp.dubbo.service.impl.TestDubboImpl" />
</beans>
注意
需要注意的是最后两行。
<bean id="testDubboService" class="dp.dubbo.service.impl.TestDubboImpl" />
跟本地服务配置一样。
<dubbo:service interface="dp.dubbo.service.TestDubbo" ref="testDubboService"/>
这句是暴露服务。interface 中的内容,一定要跟所写的 接口 代码 类名称完全一样;
ref 后面 写的是 下面定义的 服务 bean 的 id
此外,要注意 这个xml配置文件的头文件 ,一定不要把 dubbo相关的内容漏掉。
在web.xml里加载 dubbo的配置文件。方法跟加载普通的 spring配置文件是一样的。
代码如下
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<welcome-file-list>index.jsp</welcome-file-list>
<display-name>dp</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/applicationContext_dubbo-provider.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
到此服务提供者的工程已经搭建成功了。