首页 > 代码库 > dubbo的简单使用
dubbo的简单使用
整个过程大致是这样的
1.注册中心使用zookeeper,地址为192.168.192.128:2181!
2.首先服务方
所在的服务器是127.0.0.1:8081
服务方提供的接口:
public interface ITestTbService {
void insertTestTb(TestTb testTb);
}
接口的实现类
@Service("testTbService")
@Transactional
public class TestTbServiceImpl implements ITestTbService {
@Resource
private TestTbMapper testTbMapper;
@Override
public void insertTestTb(TestTb testTb) {
testTbMapper.insertSelective(testTb);
//throw new RuntimeException();
}
}
dubbo-provider.xml
<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-4.0.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="service-provider"/>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="192.168.198.128:2181" protocol="zookeeper"/>
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol port="20880" name="dubbo"/>
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.winner.service.ITestTbService" ref="testTbService"/>
</beans>
3.服务消费方
所在的服务器是127.0.0.1:8080
<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-4.0.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 消费方应用信息,用于计算依赖关系 -->
<dubbo:application name="service-consumer"/>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="192.168.198.128:2181" protocol="zookeeper"/>
<!-- 声明需要暴露的服务接口 -->
<dubbo:reference interface="com.winner.service.ITestTbService" id="testTbService"/>
</beans>
在消费服务器端:
@Controller
public class CenterController {
@Resource
private ITestTbService testTbService;
@RequestMapping("/test/index.do")
public String index() {
TestTb testTb = new TestTb();
testTb.setName("zhangsan");
testTb.setBirthday(new Date());
testTbService.insertTestTb(testTb);
return "index";
}
}
可以看到,我们直接用@Resource注入进来这个接口的实现,注意,这个接口的实现是在另外一台服务器上哟(此处只是用不同的端口模拟)!
注意事项:
Dubbo消费方及提供方传递的参数必须实现序列化接口!
public class TestTb implements Serializable
dubbo的简单使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。